@font-face{font-family:Raleway;src:url(/fonts/raleway-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--color-heading: #2b2b2b;--color-subheading: #076045;--color-accent: #a9e0da;--color-cta: #e9833c;--color-text: #222222;--color-text-on-dark: #f5f5f5;--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-alt: #eef7f6;--color-dark: #2b2b2b;--color-dark-2: #3a3a3a;--color-accent-hover: #076045;--color-cta-hover: #e9833c;--color-muted: #5f5f5f;--color-border: #d9ebe8;--color-danger: #ee4d55;--color-ok: #076045;--color-orange: #e9833c;--color-orange-light: #fdf1e6;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--radius: 3px;--radius-lg: 10px;--radius-pill: 999px;--shadow-card: 0 1px 4px rgba(43, 43, 43, .12);--shadow-lift: 0 10px 30px rgba(43, 43, 43, .18);--shadow-glow: 0 0 8px rgba(233, 131, 60, .3);--dur-fast: .15s;--dur-base: .3s;--dur-slow: .6s;--ease-out: cubic-bezier(.2, .7, .3, 1);--font-display: "Raleway", system-ui, sans-serif;--font-heading: "Raleway", system-ui, sans-serif;--font-body: "Raleway", system-ui, sans-serif;--font-ui: "Raleway", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-weight:400;background:var(--color-bg);color:var(--color-text);min-height:100vh}h1,h2{font-family:var(--font-display);color:var(--color-heading);font-weight:700}h3{font-family:var(--font-heading);color:var(--color-subheading);font-weight:700}p{font-size:1.375rem;line-height:1.65}strong,b{font-family:var(--font-ui);font-weight:700}a{color:var(--color-subheading);text-decoration:none}a:hover{color:var(--color-cta)}img{max-width:100%}:focus-visible{outline:2px solid var(--color-subheading);outline-offset:2px}[id]{scroll-margin-top:90px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.route-fade{flex:1 0 auto;animation:routeFade var(--dur-base) var(--ease-out)}@keyframes routeFade{0%{opacity:0}to{opacity:1}}.reveal{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.reveal-visible{opacity:1;transform:none}.page{max-width:880px;margin:0 auto;padding:var(--space-5) var(--space-3)}.page.center{text-align:center}.btn{display:inline-block;border:none;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);font-family:var(--font-ui);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;text-decoration:none;line-height:1.2;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--color-subheading);color:var(--color-text-on-dark);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:var(--color-orange);color:var(--color-text-on-dark);box-shadow:var(--shadow-glow);transition:background .2s}.btn-primary:hover{background:var(--color-subheading);color:var(--color-text-on-dark)}.btn-secondary{background:var(--color-orange);color:var(--color-text-on-dark);border:none;transition:background .2s,color .2s}.btn-secondary:hover{background:var(--color-subheading);color:var(--color-text-on-dark)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-card)}.field{margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-weight:400;font-size:.95rem;color:var(--color-subheading)}.field input,.field select,.field textarea{padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:1rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-subheading);outline-offset:-1px}.field .error{color:var(--color-danger);font-size:.875rem}.choice-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.choice{flex:1;min-width:140px;text-align:center;padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-family:var(--font-ui);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}.choice:hover:not(:disabled){border-color:var(--color-subheading)}.choice.selected{border-color:var(--color-subheading);color:var(--color-subheading);box-shadow:var(--shadow-card)}.wizard-nav{display:flex;justify-content:space-between;margin-top:var(--space-4)}.muted{color:var(--color-muted)}.banner{border:1px dashed var(--color-subheading);background:var(--color-surface-alt);border-radius:var(--radius);padding:var(--space-2) var(--space-3);color:var(--color-subheading);margin-bottom:var(--space-3)}.lang-switch{display:flex;gap:var(--space-1)}.lang-switch button{background:transparent;border:1px solid var(--color-text);color:var(--color-text);border-radius:var(--radius);padding:var(--space-1) var(--space-2);font-family:var(--font-ui);font-weight:700;text-transform:uppercase;cursor:pointer}.lang-switch button.active{border-color:var(--color-subheading);color:var(--color-subheading)}.lang-switch button:hover{border-color:var(--color-subheading)}.header-controls{display:flex;gap:var(--space-2);align-items:center}.landing{min-height:100vh}.site-header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);transition:background var(--dur-base) var(--ease-out),backdrop-filter var(--dur-base) var(--ease-out)}.site-header.scrolled,.site-header--inner{background:var(--color-subheading);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.route-fade--inner{padding-top:64px}.site-header .lang-switch button{color:var(--color-text-on-dark);border:none;padding:0 var(--space-2);font-size:.95rem;letter-spacing:.08em}.site-header .lang-switch button+button{border-left:1px solid rgba(245,245,245,.6)}.site-header .lang-switch button.active{color:var(--color-text-on-dark);text-decoration:underline}.site-header .lang-switch button:hover{color:var(--color-accent)}.menu-toggle{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:none;color:var(--color-text-on-dark);font-family:var(--font-ui);font-weight:700;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:0}.menu-toggle:hover{color:var(--color-accent)}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:22px;height:2px;background:currentColor}.menu-lines{position:relative}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0}.menu-lines:before{top:-7px}.menu-lines:after{top:7px}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b2b2b99;z-index:90}.menu-panel{position:absolute;top:0;left:0;min-width:300px;max-width:88vw;height:100%;background:var(--color-subheading);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:0 0 40px #00000059}.menu-panel a{color:var(--color-text-on-dark);font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.menu-panel a:hover{color:var(--color-orange)}.menu-close{align-self:flex-end;background:transparent;border:none;color:var(--color-text-on-dark);font-size:2rem;line-height:1;cursor:pointer;margin-bottom:var(--space-2)}.menu-close:hover{color:var(--color-accent)}.hero-slider{position:relative;height:100vh;height:100dvh;min-height:560px;background:var(--color-dark);overflow:hidden}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}.hero-slide.active{opacity:1;z-index:1}.hero-slide.leaving{opacity:0;z-index:0}@media(prefers-reduced-motion:no-preference){.hero-slide.active{animation:heroZoom 12s var(--ease-out) forwards}}@keyframes heroZoom{0%{transform:scale(1)}to{transform:scale(1.06)}}.hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:#2b2b2b73}.hero-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-5) var(--space-4) 210px;max-width:1400px;margin:0 auto;text-shadow:0 2px 10px rgba(0,0,0,.6);--hero-title-size: clamp(3.2rem, 10.5vh, 6.5rem)}.hero-dates{font-family:var(--font-body);font-size:clamp(1.5rem,2.2vh,2.1rem);color:var(--color-text-on-dark);margin:0 0 var(--space-3)}.hero-title{font-family:var(--font-display);font-weight:700;color:var(--color-text-on-dark);font-size:var(--hero-title-size);line-height:1.05;margin:0 0 var(--space-3);max-width:100%;text-align:center}.hero-subtitle{font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-on-dark);font-size:clamp(1.3rem,4.6vh,2.6rem);margin:0}@media(prefers-reduced-motion:no-preference){.hero-subtitle{animation:heroRise .9s var(--ease-out) .25s both}.reveal-visible .intro-dates{animation:dateRise 1s var(--ease-out) .4s both}}@keyframes heroRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes dateRise{0%{opacity:0;transform:translateY(10px);letter-spacing:.06em}to{opacity:1;transform:none;letter-spacing:0}}.hero-icons{position:absolute;left:50%;bottom:16vh;transform:translate(-50%);width:min(1100px,calc(100% - var(--space-5)));z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3)}.hero-icon{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-on-dark)}.hero-icon-glyph{display:flex;align-items:center;justify-content:center;height:96px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));transition:opacity .2s,transform .2s var(--ease-out)}@media(prefers-reduced-motion:no-preference){.hero-icon-glyph img{animation:iconNudge 3.6s var(--ease-out) infinite}.hero-icon:nth-child(2) img{animation-delay:.3s}.hero-icon:nth-child(3) img{animation-delay:.6s}.hero-icon:nth-child(4) img{animation-delay:.9s}.hero-icon:nth-child(5) img{animation-delay:1.2s}.hero-icon:nth-child(6) img{animation-delay:1.5s}}@keyframes iconNudge{0%,55%,to{transform:translateY(0)}62%{transform:translateY(-7px)}70%{transform:translateY(0)}77%{transform:translateY(-3px)}84%{transform:translateY(0)}}.hero-icon-glyph img{width:74px;height:74px;filter:brightness(0) invert(1)}.hero-icon-glyph--car img{width:96px;height:96px;object-fit:contain}.hero-icon-label{font-family:var(--font-ui);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.hero-icon:hover .hero-icon-glyph{transform:scale(1.08)}.hero-icon:hover .hero-icon-label{color:var(--color-accent)}.social-links{display:flex;align-items:center;gap:var(--space-2)}.social-links a{color:var(--color-text-on-dark);display:inline-flex;opacity:.9;transition:color .2s,opacity .2s}.social-links a:hover{color:var(--color-accent);opacity:1}.footer-links-col .social-links{margin-top:var(--space-2)}.comune-badge{position:absolute;top:var(--space-4);right:var(--space-4);z-index:3;text-align:center;color:var(--color-text-on-dark)}.comune-badge img{width:64px;height:auto;filter:drop-shadow(0 0 6px rgba(0,0,0,.6))}.comune-badge span{display:block;font-family:var(--font-ui);font-weight:700;font-size:.8rem;margin-top:var(--space-1);text-shadow:0 1px 4px rgba(0,0,0,.7)}.hero-dots{position:absolute;bottom:var(--space-4);left:0;right:0;display:flex;justify-content:center;gap:var(--space-2);z-index:3}.hero-dots button{width:11px;height:11px;border-radius:50%;border:none;background:#a9e0da80;cursor:pointer;padding:0}.hero-dots button.active{background:var(--color-accent)}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:60px;border:none;background:var(--color-accent);color:var(--color-heading);font-size:1.5rem;cursor:pointer;opacity:.85}.hero-arrow:hover{background:var(--color-accent-hover);color:var(--color-text-on-dark)}.hero-arrow.prev{left:0;border-radius:0 var(--radius) var(--radius) 0}.hero-arrow.next{right:0;border-radius:var(--radius) 0 0 var(--radius)}.section-intro{text-align:center;padding:var(--space-5) var(--space-3) var(--space-4);max-width:70%;margin:0 auto}.section-intro h2{font-size:1.8rem;margin:0 0 var(--space-2)}.section-intro h3{font-family:var(--font-heading);font-weight:700;color:var(--color-subheading);text-transform:uppercase;letter-spacing:.1em;margin:0 0 var(--space-3)}.section-intro p{font-size:1.375rem;line-height:1.7}.title-mark{display:inline-block;background:var(--color-accent);color:var(--color-heading);width:1.35em;height:1.35em;line-height:1.35em;text-align:center;margin-right:.25em;font-size:.8em;vertical-align:.1em}.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);max-width:1200px;margin:0 auto;padding:0 var(--space-3) var(--space-5)}.card-link{display:block;position:relative;aspect-ratio:1754 / 1241;border:1px solid var(--color-border);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-card)}.card-link img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.card-link:hover{border-color:var(--color-subheading)}.card-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-cta);color:var(--color-text-on-dark);font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-align:center;border-radius:var(--radius);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-card)}.card-link:hover .card-overlay{background:var(--color-cta-hover)}.section-block{text-align:center;padding:var(--space-4) var(--space-3)}.section-block h2{font-size:1.8rem;margin:0 0 var(--space-4)}.logo-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-5);max-width:1000px;margin:0 auto}.logo-grid img{max-height:90px;max-width:220px;object-fit:contain}.logos-section{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5)}.logos-section .section-block{padding:var(--space-3) 0;text-align:center}.logos-section h2{font-size:clamp(2rem,3.4vw,2.8rem);margin:0 0 var(--space-4)}.logo-grid--partners{display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;align-items:center;gap:var(--space-3) var(--space-4);width:100%;max-width:1100px;margin:0 auto}.logo-grid--partners img{max-height:64px;max-width:100%;width:auto;object-fit:contain}.logo-grid--big img{max-height:64px;max-width:min(320px,100%)}@media(max-width:768px){.logo-grid--partners{grid-template-columns:repeat(2,1fr)}}.editorial{max-width:1100px;margin:0 auto;padding:var(--space-5) var(--space-3) var(--space-5)}.editorial h2{margin:0 0 var(--space-2);font-size:clamp(2rem,3.4vw,2.8rem)}.editorial-head{text-align:center}.intro-dates{color:var(--color-text);margin:0;font-size:1.375rem;font-weight:700}.editorial-body{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:var(--space-4)}.editorial-col p{line-height:1.7;margin:0 0 var(--space-3)}@media(max-width:768px){.editorial-body{grid-template-columns:1fr;gap:var(--space-3)}}.intro-subtitle{font-family:var(--font-display);font-weight:700;color:var(--color-heading);font-size:1.7rem;text-transform:uppercase;margin:0 0 var(--space-2)}.installations{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5);text-align:center}.installations h2{margin:0 0 var(--space-1);font-size:clamp(2rem,3.4vw,2.8rem)}.installations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-4)}.installations-grid img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-lg)}.btn-pill{display:inline-block;background:var(--color-accent);color:var(--color-subheading);font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;padding:var(--space-2) var(--space-4);border-radius:999px;transition:background .2s,color .2s}.btn-pill:hover{background:var(--color-subheading);color:var(--color-text-on-dark)}.info-boxes{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);max-width:1100px;margin:0 auto;padding:var(--space-5) var(--space-3) var(--space-4)}.info-box{display:flex;flex-direction:column;gap:var(--space-1);min-height:200px;background:var(--color-orange-light);border:none;border-radius:20px;padding:var(--space-4);text-align:left}.info-label{margin:0;color:var(--color-muted);font-family:var(--font-ui);font-weight:700;font-size:.8rem}.info-box h4{margin:0;padding:0;background:none;color:var(--color-heading);font-family:var(--font-heading);font-weight:700;font-size:1.6rem;line-height:1.2}.info-value{margin:auto 0 0;padding:0;color:var(--color-orange);font-family:var(--font-display);font-weight:700;font-size:clamp(1.1rem,1.4vw,1.4rem);line-height:1.2}.reach{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5)}.reach-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-5);align-items:center}.reach h2{margin:0 0 var(--space-2);font-size:clamp(2rem,3.4vw,2.8rem)}.reach-sub{color:var(--color-text);font-size:1.375rem;margin:0 0 var(--space-4);max-width:34ch}.reach-pill{display:inline-flex;align-items:center;gap:var(--space-2);border:none;border-radius:var(--radius-pill);background:var(--color-orange);color:var(--color-text-on-dark);font-family:var(--font-ui);font-weight:700;font-size:1.05rem;padding:var(--space-3) var(--space-5);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.reach-pill:hover{background:var(--color-subheading);color:var(--color-text-on-dark)}.reach-pill svg{width:18px;height:18px}.reach-balls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-3)}.reach-ball{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border-radius:50%;background:var(--color-orange);color:var(--color-text-on-dark);transition:transform var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.reach-ball svg{width:42%;height:auto}.reach-ball span{font-family:var(--font-ui);font-weight:700;font-size:.9rem}.reach-ball--sm{width:104px;height:104px}.reach-ball--md{width:132px;height:132px}.reach-ball--lg{width:156px;height:156px}.reach-ball--xl{width:176px;height:176px}.reach-ball:nth-child(odd){margin-top:var(--space-4)}.reach-ball:hover{background:var(--color-subheading);color:var(--color-text-on-dark);transform:translateY(-3px)}.book-visit{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5)}.book-visit h2{margin:0 0 var(--space-2);font-size:clamp(2rem,3.4vw,2.8rem)}.reach-ball--orange{background:var(--color-orange)}.reach-ball--festive{cursor:default}.reach-ball--festive:hover{background:var(--color-orange);transform:none}.reach-ball--festive svg{width:46%;height:auto}.reach-ball--festive img{width:60%;height:60%;object-fit:contain}.reach-ball.reach-ball--camper{margin-top:-10px}.reach-ball.reach-ball--bus{margin-top:38px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-5);max-width:1100px;margin:0 auto;text-align:left}.footer-contact img{width:54px;height:auto}.footer-contact strong{display:block;font-family:var(--font-ui);font-weight:700;margin:var(--space-2) 0}.footer-contact p{margin:2px 0;font-family:var(--font-body);font-size:.85rem}.footer-links-col{display:flex;flex-direction:column;justify-content:center;gap:var(--space-2)}.footer-legal{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-2)}.footer-legal a{color:var(--color-text-on-dark);font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.footer-legal a:hover{color:var(--color-accent)}.footer-infopoint{margin:var(--space-2) 0 0}.footer-infopoint strong{display:block;font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.footer-infopoint span{font-size:.85rem}.section-sub{text-align:center;color:var(--color-muted);max-width:62ch;margin:0 auto var(--space-4)}.numbers-strip{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5);text-align:center}.numbers-strip h2{margin:0 0 var(--space-4);font-size:1.9rem}.numbers-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-3)}.number-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-card);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.number-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.number-icon{width:26px;height:26px;color:var(--color-subheading)}.number-value{font-family:var(--font-display);font-weight:700;font-size:2.2rem;color:var(--color-heading);line-height:1}.number-label{color:var(--color-muted);font-size:.85rem}.faq-section{max-width:900px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5)}.faq-section h2,.faq-title{text-align:center;margin:0 0 var(--space-3);font-size:clamp(2rem,3.4vw,2.8rem)}.faq{display:flex;flex-direction:column;gap:var(--space-2)}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3)}.faq-item summary{display:flex;justify-content:space-between;gap:var(--space-2);cursor:pointer;list-style:none;font-family:var(--font-ui);font-weight:700;color:var(--color-heading)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--color-subheading)}.faq-item[open] summary:after{content:"–"}.faq-item p{margin:var(--space-2) 0 0}.advent-section{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5);text-align:center}.advent-section h2{margin:0 0 var(--space-1);font-size:1.9rem}.advent-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2);margin-top:var(--space-4)}.advent-door{aspect-ratio:1;perspective:600px;background:none;border:none;padding:0;cursor:pointer}.advent-door-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--dur-slow) var(--ease-out)}.advent-door.opened .advent-door-inner{transform:rotateY(180deg)}.advent-door-front,.advent-door-back{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);backface-visibility:hidden;font-family:var(--font-display);font-weight:700}.advent-door-front{background:var(--color-accent);color:var(--color-heading);font-size:1.5rem;border:1px solid rgba(43,43,43,.08);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.advent-door.locked .advent-door-front{background:var(--color-surface-alt);color:var(--color-muted)}.advent-door:not(.locked):hover .advent-door-front{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.advent-door:disabled{cursor:not-allowed}.advent-door-back{transform:rotateY(180deg);background:var(--color-heading);color:var(--color-text-on-dark);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1);text-align:center}.advent-badge{margin:0 0 var(--space-1);font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-subheading);font-size:.8rem}.advent-code{background:var(--color-surface-alt);border-radius:var(--radius);padding:var(--space-2)}.advent-modal{max-width:520px}.advent-cta{margin:var(--space-4) 0 0}.camino-teaser{max-width:900px;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-5);text-align:center}.camino-teaser h2{margin:0 0 var(--space-1);font-size:1.9rem}.camino-teaser .section-sub{margin-bottom:var(--space-3)}.arrival-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.arrival-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.arrival-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.arrival-card h3{margin:var(--space-2) 0}.arrival-icon{width:40px;height:40px;color:var(--color-subheading)}.arrival-parking{margin-top:var(--space-4)}.camino-bar{height:8px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);overflow:hidden;margin-top:var(--space-2)}.camino-bar span{display:block;height:100%;background:var(--color-subheading);transition:width var(--dur-slow) var(--ease-out)}.camino-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-4)}.camino-stop{display:grid;grid-template-columns:120px 1fr;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.camino-stop.done{border-color:var(--color-subheading)}.camino-photo img{width:100%;height:100%;object-fit:cover;display:block}.camino-stop-body{padding:var(--space-3)}.camino-stop-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--color-accent);color:var(--color-heading);font-family:var(--font-ui);font-weight:700;font-size:.8rem}.camino-stop.done .camino-stop-num{background:var(--color-subheading);color:var(--color-text-on-dark)}.camino-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.camino-complete{border-color:var(--color-subheading)}.quick-nav{display:none}.site-footer{background:var(--color-subheading);color:var(--color-text-on-dark);margin-top:var(--space-5);padding:var(--space-5) var(--space-3);text-align:center;font-family:var(--font-heading);font-weight:700;font-size:.95rem}.site-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin:var(--space-3) 0}.site-footer a{color:var(--color-text-on-dark);text-transform:uppercase;letter-spacing:.08em}.site-footer a:hover{color:var(--color-accent)}.site-footer .muted{color:#f5f5f5bf}.footer-divider{border-top:1px solid var(--color-text-on-dark);width:100%;max-width:1100px;margin:var(--space-4) auto}.step-indicator{margin-bottom:var(--space-4)}.step-bar{height:6px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:3px;margin-top:var(--space-2);overflow:hidden}.step-bar-fill{height:100%;background:var(--color-subheading);border-radius:3px;transition:width .3s}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-2)}.choice.slot{padding:var(--space-2);font-size:1rem;min-width:0}.slot-note{display:block;font-size:.75rem;color:var(--color-danger)}.summary div{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.summary dt{color:var(--color-muted)}.summary dd{margin:0;font-weight:400}.total-line{text-align:right;font-size:1.25rem}.center-qr{text-align:center}.qr{background:var(--color-surface);padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border)}.email-preview h3{margin-top:0}.email-body{background:var(--color-surface-alt);border-radius:var(--radius);padding:var(--space-3)}.email-subject{margin-top:0;font-family:var(--font-ui);font-weight:700}.email-bank{margin:var(--space-3) 0}.email-policy{border-top:1px dashed var(--color-border);margin-top:var(--space-3);padding-top:var(--space-2);font-size:.9rem}.consent-row{display:flex;align-items:flex-start;gap:var(--space-2);font-weight:400;cursor:pointer}.consent-row input{margin-top:.25rem}.consent{margin-top:var(--space-3)}.policy{margin:var(--space-3) 0;font-size:.9rem}.policy summary{cursor:pointer;font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;color:var(--color-subheading)}.legal section{margin-bottom:var(--space-4)}.legal section:last-child{margin-bottom:0}.legal h3{margin-bottom:var(--space-1)}.admin-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.admin-actions .btn{padding:var(--space-1) var(--space-2);font-size:.8rem}.center-link{text-align:center}.page-wide{max-width:1100px}.filters{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.filters select{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}table.bookings{width:100%;border-collapse:collapse;font-size:.9rem}table.bookings th,table.bookings td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border)}table.bookings th{color:var(--color-subheading);text-transform:uppercase;font-family:var(--font-ui);font-weight:700;letter-spacing:.05em;font-size:.8rem}.occ-slot{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2)}.occ-row{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;margin-top:var(--space-1)}.occ-bar{flex:1;height:5px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;overflow:hidden}.occ-fill{height:100%;background:var(--color-subheading)}.zone-list{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.error{color:var(--color-danger)}.cal{max-width:420px}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.cal-header .btn{padding:var(--space-1) var(--space-3)}.cal-header strong{text-transform:capitalize;font-family:var(--font-heading)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.cal-weekday{text-align:center;font-size:.75rem;color:var(--color-muted);padding:var(--space-1) 0}.cal-empty{aspect-ratio:1}.cal-day{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.9rem}.cal-day:hover:not(:disabled){border-color:var(--color-subheading)}.cal-day.selected{border-color:var(--color-subheading);background:var(--color-accent);color:var(--color-heading);font-weight:700}.cal-day:disabled{opacity:.45;cursor:not-allowed;border-color:transparent;background:transparent}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b2b2b8c;display:flex;align-items:center;justify-content:center;padding:var(--space-3);z-index:100}.modal{position:relative;max-width:560px;width:100%;margin:0}.modal-close{position:absolute;top:var(--space-2);right:var(--space-3);border:none;background:transparent;color:var(--color-muted);font-size:1.6rem;line-height:1;cursor:pointer}.modal-close:hover{color:var(--color-text)}.modal.popup{background:#fff;border-radius:28px;padding:var(--space-5) var(--space-4) var(--space-4);max-width:640px;text-align:center;box-shadow:0 24px 60px #2b2b2b59}.modal.popup h2{color:var(--color-heading);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.5rem,4vw,2.1rem);margin:0 0 var(--space-1)}.modal.popup .popup-dates{color:var(--color-subheading);font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin:0 0 var(--space-4)}.modal.popup p{color:var(--color-text);font-size:1.375rem;line-height:1.55}.modal.popup .popup-required{color:var(--color-cta);font-family:var(--font-ui);font-weight:700}.modal.popup .btn-primary{border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);font-size:1.05rem;text-transform:none;letter-spacing:0;margin-top:var(--space-3)}.modal.popup .modal-close{color:var(--color-subheading);opacity:.9;font-size:1.9rem;top:var(--space-3);right:var(--space-4)}.modal.popup .modal-close:hover{color:var(--color-heading);opacity:1}.popup-break{display:none}@media(min-width:768px){.popup-break{display:inline}.modal.popup{max-width:780px}}.band-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.oc-green{--oc: #076045}.oc-orange{--oc: #e29a00}.oc-red{--oc: #ee4d55}.cal-day.oc-green:not(.selected),.choice.slot.oc-green{border-color:#076045;box-shadow:inset 0 -4px #076045}.cal-day.oc-orange:not(.selected),.choice.slot.oc-orange{border-color:#e29a00;box-shadow:inset 0 -4px #e29a00}.cal-day.oc-red:not(.selected),.choice.slot.oc-red{border-color:#ee4d55;box-shadow:inset 0 -4px #ee4d55}.occ-legend{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2);font-size:.8rem;color:var(--color-muted)}.occ-legend-item{display:inline-flex;align-items:center;gap:var(--space-1)}.occ-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.occ-dot.oc-green{background:#076045}.occ-dot.oc-orange{background:#e29a00}.occ-dot.oc-red{background:#ee4d55}.parking-list{display:flex;flex-direction:column;gap:var(--space-2)}.parking-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.parking-links{display:flex;gap:var(--space-2);flex-wrap:wrap}.parking-links .btn{padding:var(--space-2) var(--space-3);font-size:.9rem}.code-input{max-width:320px;font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase}.visits-list{display:flex;flex-direction:column;gap:var(--space-2)}.visit-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;border-bottom:1px solid var(--color-border);padding:var(--space-2) 0}.visit-item:last-child{border-bottom:none}@media(max-width:900px){.installations-grid,.info-boxes{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr;gap:var(--space-4)}.numbers-grid{grid-template-columns:repeat(3,1fr)}.advent-grid{grid-template-columns:repeat(4,1fr)}.arrival-grid{grid-template-columns:repeat(2,1fr)}.camino-grid{grid-template-columns:1fr}.reach-grid{grid-template-columns:1fr;gap:var(--space-4);text-align:center}.reach-sub{margin-left:auto;margin-right:auto}}@media(max-width:768px){.cards-grid,.info-boxes{grid-template-columns:1fr}.hero-dates{font-size:1.4rem}.hero-content{--hero-title-size: 2.8rem}.hero-subtitle{font-size:1.25rem}.hero-slider{min-height:600px}.hero-content{padding-bottom:215px}.hero-icons{left:0;transform:none;width:100%;justify-content:center;flex-wrap:wrap;gap:var(--space-2);bottom:14vh}.hero-icon{gap:var(--space-1)}.hero-icon-glyph{height:64px}.hero-icon-glyph img{width:46px;height:46px}.hero-icon-glyph--car img{width:62px;height:62px;object-fit:contain}.hero-icon-label{font-size:.7rem}.numbers-grid{grid-template-columns:repeat(2,1fr)}.advent-grid{grid-template-columns:repeat(3,1fr)}.arrival-grid{grid-template-columns:1fr}.camino-stop{grid-template-columns:96px 1fr}.landing{padding-bottom:68px}.quick-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;justify-content:space-between;gap:var(--space-1);padding:var(--space-1) var(--space-2);padding-bottom:calc(var(--space-1) + env(safe-area-inset-bottom));background:#2b2b2bf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.quick-nav-item{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-1) 0}.quick-nav-item img{width:26px;height:26px;filter:brightness(0) invert(1)}.quick-nav-item span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.reach-ball--sm{width:88px;height:88px}.reach-ball--md{width:108px;height:108px}.reach-ball--lg{width:124px;height:124px}.reach-ball--xl{width:140px;height:140px}.installations-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}.hero-slide.active{animation:none}}.info-page{min-height:100vh}.info-hero{position:relative;min-height:680px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:68% 82%}.info-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#2b2b2b33}.info-hero h1{position:relative;z-index:1;margin:0;padding:0 var(--space-3);color:var(--color-text-on-dark);text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(3.2rem,10.5vh,6.5rem);line-height:1.05;max-width:min(1100px,calc(100% - var(--space-3)));text-shadow:0 2px 10px rgba(0,0,0,.5)}.info-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:1100px;padding:0 var(--space-3);text-align:center}.info-hero-content h1{padding:0;max-width:100%}.info-hero-sub{margin:0;color:var(--color-text-on-dark);font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:clamp(.95rem,1.8vw,1.4rem);text-shadow:0 2px 10px rgba(0,0,0,.5)}.info-page .info-boxes{padding-top:var(--space-4)}.info-parking{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) 0}.info-parking h2{font-size:clamp(2rem,3.4vw,2.8rem);margin:0 0 var(--space-2)}.info-parking p{line-height:1.7;max-width:80ch}.info-page .arrival-grid{max-width:1100px;margin:0 auto;padding:var(--space-3) var(--space-3) 0}.useful-numbers{max-width:1100px;margin:0 auto;padding:var(--space-4) var(--space-3) 0}.useful-numbers h2{font-size:clamp(2rem,3.4vw,2.8rem);margin:0 0 var(--space-3)}.useful-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.useful-card{display:flex;flex-direction:column;min-height:200px;background:var(--color-surface-alt);border:none;border-radius:20px;padding:var(--space-4);text-align:left;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.useful-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.useful-icon{width:30px;height:30px;color:var(--color-subheading);margin-bottom:var(--space-2)}.useful-card h3{color:var(--color-subheading);font-family:var(--font-heading);font-weight:700;font-size:1.7rem;line-height:1.2;margin:0 0 var(--space-2)}.useful-card p{margin:0;line-height:1.55;white-space:pre-line}.meteo{max-width:1100px;margin:var(--space-4) auto}.meteo-heading{margin:0 0 var(--space-2)}.meteo-now{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0}.meteo-temp{font-family:var(--font-display);font-weight:700;font-size:3.2rem;line-height:1;color:var(--color-orange)}.meteo-now-icon{width:48px;height:48px;flex:none;color:var(--color-orange)}.meteo-cond{margin:0;font-family:var(--font-ui);font-weight:700;font-size:1.35rem}.meteo-current-details{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:1rem;line-height:1.55}.meteo-forecast-title{margin:var(--space-4) 0 var(--space-2);color:var(--color-subheading);font-family:var(--font-ui);font-weight:700;font-size:1.15rem}.meteo-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}.meteo-day{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:250px;background:var(--color-orange-light);border-radius:var(--radius-lg);padding:var(--space-2);text-align:center}.meteo-day-label{color:var(--color-muted);font-family:var(--font-ui);font-weight:700;font-size:1rem;text-transform:capitalize}.meteo-day-date{color:var(--color-muted);font-family:var(--font-ui);font-weight:600;font-size:.9rem}.meteo-day-icon{width:40px;height:40px;color:var(--color-orange);margin:2px 0}.meteo-day-cond{color:var(--color-text);font-size:1rem;line-height:1.25;min-height:2.5em}.meteo-day-temps{font-size:1.45rem;font-weight:700;color:var(--color-orange)}.meteo-day-min{margin-left:.25em;font-size:1.15rem;color:var(--color-muted);font-weight:600}.meteo-day-detail{color:var(--color-muted);font-size:.95rem;line-height:1.35}.info-back{text-align:center;padding:var(--space-2) 0 var(--space-5)}.info-page .faq-section{padding-top:var(--space-3)}.eventi-banner{max-width:1100px;margin:var(--space-4) auto 0;padding:var(--space-4) var(--space-5);background:var(--color-surface-alt);border-radius:20px;text-align:center}.eventi-banner-kicker{margin:0 0 var(--space-2);color:var(--color-subheading);font-family:var(--font-ui);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.eventi-banner p{margin:var(--space-1) 0;line-height:1.6}.eventi-banner p:not(.eventi-banner-kicker){font-family:var(--font-display);font-weight:700;font-size:1.375rem}.eventi-program,.mangiare-list{max-width:1100px;margin:0 auto;padding:var(--space-5) var(--space-3) 0}.eventi-program h2,.mangiare-list h2,.mangiare-intro h2{font-size:clamp(2rem,3.4vw,2.8rem);margin:0 0 var(--space-1)}.eventi-sub{margin:0 0 var(--space-3);color:var(--color-subheading)}.eventi-filters{display:flex;flex-direction:column;gap:var(--space-2);margin:0 0 var(--space-4)}.eventi-search{width:100%;max-width:420px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);font:inherit;color:var(--color-text);background:var(--color-surface)}.eventi-search:focus{outline:2px solid var(--color-subheading);outline-offset:1px}.mangiare-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.mangiare-controls .eventi-search{flex:1 1 260px}.eventi-sort{min-width:210px;padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-pill);background:var(--color-orange);color:var(--color-text-on-dark);font-family:var(--font-ui);font-size:1rem;font-weight:700;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.eventi-sort:hover{background:var(--color-subheading)}.eventi-sort:focus{outline:2px solid var(--color-subheading);outline-offset:1px}.mangiare-page .eventi-filters{gap:var(--space-4)}.eventi-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.eventi-chip{padding:var(--space-1) var(--space-3);background:var(--color-surface-alt);border:1px solid transparent;border-radius:var(--radius-pill);color:var(--color-subheading);font-family:var(--font-ui);font-weight:700;font-size:.85rem;cursor:pointer}.eventi-chip:hover{border-color:var(--color-subheading)}.eventi-chip.active{background:var(--color-subheading);color:var(--color-text-on-dark)}.eventi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.eventi-card{display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.eventi-card-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.eventi-card-body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3)}.eventi-card-body h3{margin:var(--space-1) 0;font-size:1.7rem;line-height:1.3}.eventi-card-body p{margin:0;line-height:1.55}.eventi-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);color:var(--color-subheading);font-family:var(--font-ui);font-weight:700;font-size:.9rem}.eventi-date{color:var(--color-subheading)}.eventi-place{color:var(--color-muted);font-size:.9rem}.eventi-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)!important}.eventi-tag{display:inline-block;align-self:flex-start;padding:.15rem var(--space-2);background:var(--color-surface-alt);border-radius:var(--radius-pill);color:var(--color-subheading);font-family:var(--font-ui);font-weight:700;font-size:.72rem}.mangiare-intro{max-width:1100px;margin:0 auto;padding:var(--space-5) var(--space-3) 0}.mangiare-subtitle{margin:0 0 var(--space-3);color:var(--color-subheading);font-size:1.2rem}.mangiare-intro p{line-height:1.7;max-width:80ch}.mangiare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.mangiare-card{display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.mangiare-photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.mangiare-photo--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);background:var(--color-surface-alt);color:var(--color-subheading);text-align:center;font-family:var(--font-ui);font-weight:700}.mangiare-photo--placeholder small{color:var(--color-muted);font-weight:400}.mangiare-card-body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3)}.mangiare-card-body h3{margin:var(--space-1) 0;font-size:1.7rem}.mangiare-card-body p{margin:0;line-height:1.5}.mangiare-address a{color:var(--color-muted)}.mangiare-address a:hover{color:var(--color-subheading)}.mangiare-phone a{font-family:var(--font-ui);font-weight:700}.mangiare-website a{font-size:.9rem}@media(max-width:900px){.useful-grid{grid-template-columns:repeat(2,1fr)}.meteo-days{grid-template-columns:repeat(4,1fr)}.eventi-grid,.mangiare-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.useful-grid{grid-template-columns:1fr}.meteo-days{grid-template-columns:repeat(2,1fr)}.eventi-grid,.mangiare-grid{grid-template-columns:1fr}.eventi-banner{padding:var(--space-3)}.info-hero{min-height:480px}.info-hero h1{font-size:2.8rem}.info-hero-sub{letter-spacing:.12em}}h2{font-size:clamp(2.4rem,3.6vw,3.1rem);line-height:1.15}h3{font-size:1.7rem;line-height:1.25}h4{font-family:var(--font-heading);color:var(--color-subheading);font-weight:700;font-size:1.6rem;line-height:1.25}.eventi-tags{font-size:1rem}.site-footer p{font-size:.95rem}.editorial h2,.installations h2,.logos-section h2,.reach h2,.book-visit h2,.faq-section h2,.faq-title,.section-intro h2,.section-block h2,.numbers-strip h2,.advent-section h2,.camino-teaser h2,.info-parking h2,.useful-numbers h2,.eventi-program h2,.mangiare-list h2,.mangiare-intro h2{font-size:clamp(2.4rem,3.6vw,3.1rem)}.eventi-card-body p,.mangiare-card-body p,.useful-card p,.arrival-card p{font-size:1rem}.eventi-card-body h3,.mangiare-card-body h3,.useful-card h3,.arrival-card h3{font-size:1.4rem}.info-box h4{font-size:1.45rem}.phone-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.phone-link:hover{color:var(--color-cta)}.info-intro{max-width:1100px;margin:0 auto;padding:var(--space-5) var(--space-3) 0;text-align:center}.info-intro h2{margin:0 0 var(--space-2)}.info-intro p{margin:0 auto;max-width:70ch}.info-cta{margin-top:var(--space-3);font-size:1.05rem;padding:var(--space-3) var(--space-5)}.useful-numbers{padding-top:var(--space-5)}.logo-scroll{display:flex;align-items:center;justify-content:safe center;gap:var(--space-2);max-width:1100px;margin:0 auto;padding:var(--space-2) 0 var(--space-3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.logo-scroll img{flex:0 0 auto;width:auto;max-width:none;height:150px;object-fit:contain;scroll-snap-align:center}.logo-scroll::-webkit-scrollbar{height:6px}.logo-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.logos-subtitle{margin:var(--space-4) 0 var(--space-2);color:var(--color-text);font-family:var(--font-display);font-size:1.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.logos-section .section-block{padding-bottom:var(--space-5)}.footer-contact strong{text-transform:uppercase;letter-spacing:.06em}.site-footer .social-links svg{width:30px;height:30px}.site-footer .social-links a{width:30px;height:30px;align-items:center;justify-content:center}.footer-social-row{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--space-3)}.footer-hashtag{display:block;width:180px;max-width:100%;margin:0;padding:var(--space-2);background:#fff;border-radius:var(--radius-lg)}@media(max-width:768px){.logo-scroll img{height:100px;max-width:none}.logos-subtitle{font-size:1.4rem}}.info-pdf{display:inline-block;margin-top:var(--space-2);font-family:var(--font-ui);font-weight:700;font-size:.95rem}.phone-link{white-space:nowrap}.mangiare-intro h2{text-align:center}.mangiare-intro-cols{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:var(--space-4)}.mangiare-intro-cols p{margin:0;max-width:none}@media(max-width:768px){.mangiare-intro-cols{grid-template-columns:1fr;gap:var(--space-3)}}.logo-carousel{display:flex;align-items:center;gap:var(--space-2);max-width:1100px;margin:0 auto}.logo-carousel .logo-scroll{flex:1;min-width:0}.logo-arrow{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:50%;background:var(--color-orange);color:var(--color-text-on-dark);font-size:1.7rem;line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.logo-arrow:hover{background:var(--color-subheading)}.logo-arrow:focus-visible{outline:2px solid var(--color-subheading);outline-offset:2px}@media(max-width:768px){.logo-arrow{width:36px;height:36px;font-size:1.4rem}}.logo-scroll--pages{justify-content:flex-start;scroll-snap-type:x mandatory}.logo-page{flex:0 0 100%;min-width:100%;display:flex;align-items:center;justify-content:safe center;gap:var(--space-4);padding:0 var(--space-2);scroll-snap-align:start}.logo-page--flat{min-width:0;flex:0 0 auto}.info-parking p{margin:0}.info-cta{margin:var(--space-3) 0 var(--space-5)}.info-page .arrival-grid{padding-top:0}@media(max-width:768px){.logo-page--flat{max-width:100%}.logo-page--flat img{max-width:100%;height:auto;max-height:100px}}@media(max-width:768px){.logo-scroll--pages .logo-page{gap:var(--space-1);padding:0 var(--space-1)}.logo-scroll--pages .logo-page img{flex:1 1 0;min-width:0;width:0;height:90px;max-width:100%;object-fit:contain}}.footer-contact p{overflow-wrap:anywhere}@media(max-width:768px){.choice-row--stack-mobile{flex-direction:column}.choice-row--stack-mobile .choice{width:100%;flex:none}}.header-wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(44vw,420px);color:var(--color-text-on-dark);font-family:var(--font-heading);font-weight:700;font-size:1rem;line-height:1.1;text-align:center;text-decoration:none;white-space:nowrap}.header-wordmark:hover{color:var(--color-accent)}.site-footer{text-align:left}.footer-grid{align-items:center}.footer-brand-block{display:flex;flex-direction:column;gap:var(--space-2)}.site-footer .footer-brand{margin:0;color:var(--color-text-on-dark);font-family:var(--font-display);font-size:2.4rem;font-weight:700;line-height:1.08}.site-footer .footer-email{color:var(--color-text-on-dark);font-family:var(--font-body);font-weight:400;text-transform:none;letter-spacing:0}.footer-social-block{text-align:right}.footer-social-title{margin:0 0 var(--space-2);color:var(--color-text-on-dark);font-family:var(--font-ui);font-weight:700}.footer-social-block .social-links{justify-content:flex-end}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;max-width:1100px;margin:0 auto}.footer-legal{justify-content:flex-start;margin:0;flex-wrap:wrap}.footer-designed{margin:0;color:var(--color-text-on-dark);font-family:var(--font-body);font-size:.85rem}.footer-designed a{text-transform:none;letter-spacing:0;text-decoration:underline}@media(max-width:768px){.header-wordmark{max-width:118px;font-size:.68rem;line-height:1.12;white-space:normal}.site-header .header-controls .social-links{display:none}.site-header .header-controls{gap:var(--space-1)}.site-header .lang-switch button{padding:0 5px;font-size:.78rem}.footer-grid{grid-template-columns:1fr}.footer-social-block{text-align:left}.footer-social-block .social-links{justify-content:flex-start}.footer-bottom{align-items:flex-start}.hero-icons{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;align-items:end;row-gap:var(--space-2);bottom:100px}}.eventi-grid{grid-template-columns:1fr}.eventi-card{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:stretch}.eventi-card-img{width:100%;height:100%;min-height:210px;aspect-ratio:auto;object-fit:cover}.eventi-meta span{display:inline-flex;align-items:center;gap:6px}.eventi-meta svg,.eventi-place svg{width:16px;height:16px;flex:none}.eventi-place{display:flex;align-items:center;gap:6px}.eventi-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.eventi-toolbar .eventi-search{flex:1 1 240px;max-width:none}.eventi-date-field{display:flex;flex-direction:column;gap:4px;color:var(--color-subheading);font-family:var(--font-ui);font-size:.8rem;font-weight:700}.eventi-date-field input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:400}.eventi-print{padding:var(--space-2) var(--space-4);font-size:.85rem}@media(max-width:768px){.eventi-card{grid-template-columns:1fr}.eventi-card-img{min-height:0;aspect-ratio:16 / 10;height:auto}.eventi-toolbar .eventi-search{flex-basis:100%}.eventi-date-field{flex:1 1 150px}.eventi-print{flex:1 1 130px}}.logo-scroll img{height:120px}.logo-scroll--pages .logo-page{justify-content:center;align-items:flex-end;gap:var(--space-5)}.logo-page img.logo--parco{height:128px}.logo-scroll img[alt="#WeAreInPuglia"]{height:50px}.logo-text{flex:0 0 auto;width:160px;height:120px;display:flex;align-items:center;justify-content:center;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-heading);font-family:var(--font-ui);font-size:.85rem;font-weight:700;line-height:1.25;text-align:center;text-transform:uppercase;letter-spacing:.04em}.logo-scroll img.logo--invert{height:48px}.logos-subtitle{margin:var(--space-5) 0 var(--space-3)}@media(max-width:768px){.logo-scroll img{height:90px}.logo-page img.logo--parco{height:96px}.logo-text{width:130px;height:90px;font-size:.72rem}.logo-scroll--pages .logo-page{justify-content:center}}@media(max-width:768px){.logo-scroll--pages .logo-page .logo-text{flex:1 1 0;min-width:0;width:auto;height:90px;padding:3px;font-size:.62rem}}@media(max-width:768px){.logo-scroll--pages .logo-page img.logo--invert,.logo-scroll--pages .logo-page img[alt="#WeAreInPuglia"]{height:35px}}.logo-scroll img[alt=Pinto]{height:105px}@media(max-width:768px){.logo-scroll--pages .logo-page img[alt=Pinto]{height:62px}}.eventi-filter-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--space-4);align-items:start}.eventi-calendar{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-3)}.eventi-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.eventi-calendar-title{color:var(--color-heading);font-family:var(--font-ui);font-size:.95rem;font-weight:700;text-transform:capitalize}.eventi-calendar-arrow{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:var(--color-orange);color:var(--color-text-on-dark);font-size:1.2rem;line-height:1;cursor:pointer}.eventi-calendar-arrow:hover{background:var(--color-subheading)}.eventi-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.eventi-calendar-weekday{color:var(--color-muted);font-family:var(--font-ui);font-size:.65rem;font-weight:700;text-align:center;text-transform:uppercase}.eventi-calendar-day,.eventi-calendar-empty{aspect-ratio:1}.eventi-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:.78rem;cursor:pointer}.eventi-calendar-day:hover{background:var(--color-subheading);color:var(--color-text-on-dark)}.eventi-calendar-day.today{border-color:var(--color-subheading)}.eventi-calendar-day.has-events:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--color-orange)}.eventi-calendar-day.selected{background:var(--color-orange);color:var(--color-text-on-dark)}.eventi-calendar-day.selected:after{background:var(--color-text-on-dark)}.eventi-calendar-legend{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.72rem;line-height:1.35}.eventi-chip--clear{background:var(--color-orange);color:var(--color-text-on-dark)}.eventi-chip--clear:hover{border-color:var(--color-orange)}@media(max-width:768px){.eventi-filter-layout{grid-template-columns:1fr}.eventi-calendar{max-width:320px}}.legal h2{margin:var(--space-4) 0 var(--space-2);font-size:2rem}.legal h2:first-child{margin-top:0}.legal ul{margin:0 0 var(--space-3);padding-left:1.2rem;line-height:1.55}.legal li{margin-bottom:var(--space-1)}.logo-carousel--sponsor .logo-scroll{justify-content:center}.hero-scrim{background:#0006}@media(max-width:768px){.logo-carousel{display:grid;grid-template-columns:auto auto;justify-content:center;column-gap:var(--space-3)}.logo-carousel .logo-scroll{grid-column:1 / -1;width:100%}.logo-arrow{grid-row:2;width:36px;height:36px}.logo-arrow--prev{grid-column:1;justify-self:end}.logo-arrow--next{grid-column:2;justify-self:start}.logo-carousel--sponsor .logo-page--flat img{height:auto;max-height:90px;max-width:100%}}.booking-intro{max-width:900px;margin:0 auto;padding:var(--space-5) var(--space-3) 0}.booking-intro p{margin:0 0 var(--space-3);line-height:1.7}.booking-wizard{padding-top:var(--space-4)}.logo-carousel--partners .logo-page:first-child{align-items:center}@media(max-width:768px){.site-footer .footer-brand{font-size:2rem}}.footer-social-block .social-links a[aria-label=Facebook] svg{transform:translateY(-1px)}.mercatini-content{padding-top:var(--space-5);padding-bottom:var(--space-5)}.mercatini-section+.mercatini-section{margin-top:var(--space-5)}.mercatini-section h2{margin:0 0 var(--space-3)}.mercatini-list{display:flex;flex-direction:column;gap:var(--space-3)}.mercatini-row{display:grid;grid-template-columns:260px minmax(0,1fr);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.mercatini-row-img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block}.mercatini-row-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3)}.mercatini-row-category{color:var(--color-subheading);font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.mercatini-row h3{margin:0;color:var(--color-text);font-family:var(--font-heading);font-size:1.4rem;font-weight:700}.mercatini-row p{margin:0;color:var(--color-text);line-height:1.55}.mercatini-row-meta{color:var(--color-orange);font-family:var(--font-ui);font-weight:700}.mercatini-row-contact a{color:var(--color-text)}.mercatini-row-contact a:hover{color:var(--color-orange)}.mercatini-more{border:none;background:transparent;color:var(--color-subheading);font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:0;margin-top:var(--space-2)}.mercatini-more:hover{color:var(--color-orange)}.mercatini-modal{max-width:560px;text-align:left}.mercatini-modal h2{text-transform:none;margin:0 0 var(--space-2)}.mercatini-modal-place{color:var(--color-orange);font-family:var(--font-ui);font-weight:700}@media(max-width:768px){.mercatini-row{grid-template-columns:1fr}.mercatini-row-img{min-height:0;aspect-ratio:16 / 10;height:auto}}.eventi-space-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:20px;background:var(--color-surface-alt)}.eventi-space-banner h3{margin:0 0 var(--space-1);font-size:1.4rem;text-transform:uppercase;letter-spacing:.03em}.eventi-space-banner p{margin:0;color:var(--color-text)}.eventi-space-banner .btn{white-space:nowrap}.event-space-modal{max-width:720px;text-align:left}.event-space-form{text-align:left}.event-space-form h2{margin-top:0;text-transform:none}.event-space-form>p{margin-top:0}.space-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-3)}.space-form-grid .full{grid-column:1 / -1}.event-space-form .field span{color:var(--color-subheading);font-family:var(--font-ui);font-size:.9rem;font-weight:700}.event-space-form .field textarea{resize:vertical}.event-space-form>.btn{margin-top:var(--space-2)}@media(max-width:640px){.space-form-grid{grid-template-columns:1fr}.space-form-grid .full{grid-column:auto}}.space-form-datetime{display:flex;gap:var(--space-2);flex-wrap:wrap}.space-form-datetime input[type=date]{flex:1 1 150px}.space-form-datetime select{flex:0 0 110px}.footer-grid{align-items:start}.footer-brand-row{display:flex;align-items:flex-start;gap:var(--space-3)}.footer-comune-logo{width:auto;height:88px;flex:none}.footer-social-block{align-self:start}@media(max-width:768px){.footer-brand-row{align-items:center}.footer-comune-logo{height:68px}}.booking-intro{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:1100px}.booking-intro p{margin:0}@media(max-width:768px){.booking-intro{grid-template-columns:1fr;gap:var(--space-3)}}.choice-mezzo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.choice-mezzo .choice-icon{width:48px;height:48px}.autocomplete{position:relative}.autocomplete-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lift)}.autocomplete-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer}.autocomplete-option:hover,.autocomplete-option.active{background:var(--color-surface-alt)}.autocomplete-sigla{color:var(--color-muted);font-size:.8rem;font-weight:700}.required-mark{color:var(--color-orange);font-weight:700;margin-left:2px}.footer-bottom-left{display:flex;flex-direction:column;gap:var(--space-1)}.footer-policy{display:flex;flex-wrap:wrap;gap:var(--space-3)}.footer-policy a{color:#ffffffb8;font-family:var(--font-body);font-size:.72rem;font-weight:400;letter-spacing:0;text-transform:none;text-decoration:underline}.footer-policy a:hover{color:var(--color-text-on-dark)}.eventi-program .eventi-filters{gap:var(--space-4)}.eventi-card-media{position:relative;min-height:210px;height:100%}.eventi-date-badge{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:center;min-width:86px;padding:var(--space-2);background:var(--color-subheading);color:var(--color-text-on-dark);font-family:var(--font-ui);line-height:1;text-transform:uppercase}.eventi-date-badge-weekday{font-size:.7rem;letter-spacing:.04em}.eventi-date-badge-day{font-family:var(--font-display);font-size:1.8rem;font-weight:700;line-height:1.05}.eventi-date-badge-month{font-size:.7rem;letter-spacing:.04em}@media(max-width:768px){.eventi-card-media{min-height:0;height:auto}}.mercatini-intro{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-bottom:var(--space-5)}.mercatini-intro p{margin:0;line-height:1.7}.mercatini-section-photo{width:100%;height:240px;object-fit:cover;border-radius:var(--radius-lg);margin:var(--space-3) 0;display:block}@media(max-width:768px){.mercatini-intro{grid-template-columns:1fr;gap:var(--space-3)}.mercatini-section-photo{height:180px}}
