@font-face{font-family:Isola;src:url('assets/isola-black.otf')}@font-face{font-family:Semplicita;src:url('assets/semplicita-book.otf')}@font-face{font-family:Semplicita;src:url('assets/semplicita-bold.otf');font-weight:700}@font-face{font-family:Regina;src:url('assets/regina.ttf')}
:root{--coral:#f25334;--mint:#a1c8bb;--plum:#241935;--yellow:#ffc833;--pink:#fea5a5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mint);color:var(--plum);font-family:Semplicita,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}::selection{background:var(--yellow);color:var(--plum)}
.progress{position:fixed;z-index:100;top:0;left:0;width:0;height:4px;background:var(--plum)}
.site-header{height:90px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:30;background:var(--coral);border-bottom:2px solid var(--plum)}.brand img{display:block;width:157px}.desktop-nav{display:flex;gap:clamp(1.5rem,3vw,3.5rem)}.desktop-nav a,.book,.discover{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:.35em}.book{background:var(--plum);color:var(--yellow);border-radius:100px;padding:1rem 1.35rem;display:inline-flex;gap:2rem;align-items:center;transition:transform .25s,background .25s}.book:hover{background:var(--mint);color:var(--plum);transform:translateY(-3px)}.book span{font-size:1.3rem;line-height:.5}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:8px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--plum);margin:8px 0}.mobile-menu{position:absolute;z-index:29;top:90px;left:0;right:0;background:var(--coral);padding:1rem 5vw 2rem;border-bottom:2px solid var(--plum)}.mobile-menu:not([hidden]){display:grid}.mobile-menu a{font:2rem Isola;padding:1rem 0;border-bottom:1px solid #24193566}
.eyebrow,.section-index{font-size:.78rem;line-height:1.3;text-transform:uppercase;letter-spacing:.17em;font-weight:700}.grain{position:absolute;inset:0;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.pattern{position:absolute;left:0;right:0;height:54px;background:var(--plum);-webkit-mask-size:auto 100%;mask-size:auto 100%;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;pointer-events:none}.pattern-hero{top:0;-webkit-mask-image:url('assets/pattern-merletto.svg');mask-image:url('assets/pattern-merletto.svg')}.pattern-manifesto{top:0;background:var(--coral);-webkit-mask-image:url('assets/pattern-fiori.svg');mask-image:url('assets/pattern-fiori.svg')}.pattern-regions{top:0;background:var(--pink);-webkit-mask-image:url('assets/pattern-soli.svg');mask-image:url('assets/pattern-soli.svg')}.pattern-feeling{top:0;background:var(--plum);-webkit-mask-image:url('assets/pattern-triangoli.svg');mask-image:url('assets/pattern-triangoli.svg')}.pattern-final{top:0;background:var(--plum);-webkit-mask-image:url('assets/pattern-fiori.svg');mask-image:url('assets/pattern-fiori.svg')}
.hero{min-height:calc(100svh - 90px);background:var(--coral);position:relative;overflow:hidden;padding:3.5rem 3.5vw 2rem;display:flex;flex-direction:column;justify-content:space-between}.hero-meta,.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;position:relative;z-index:4}.hero-meta{font-size:.75rem;font-weight:700;letter-spacing:.17em}.hero-composition{display:grid;grid-template-columns:58% 42%;align-items:center;flex:1;position:relative;min-height:540px}.hero-type{position:relative;z-index:3}.hero-kicker{font:clamp(1.1rem,2vw,2rem) Regina;margin:0 0 .1em 1vw;transform:rotate(-3deg)}.hero h1{margin:0;line-height:.8;letter-spacing:-.075em}.hero-word{display:block;font:clamp(8rem,19vw,19rem)/.8 Isola;letter-spacing:-.09em;animation:type-in .8s both}.hero-e{font:clamp(5rem,10vw,10rem)/.5 Regina;color:var(--yellow);-webkit-text-stroke:1.5px var(--plum);display:block;margin-left:46%;transform:rotate(-12deg);position:relative;z-index:5;animation:type-in .85s .15s both}.hero h1 em{display:block;font:normal clamp(4rem,8.1vw,9rem)/.9 Isola;letter-spacing:-.065em;transform:rotate(-4deg);margin:.04em 0 0 .02em;white-space:nowrap;animation:type-in .9s .25s both}.hero-dot{color:var(--yellow)}@keyframes type-in{from{opacity:0;translate:0 45px;filter:blur(8px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.hero-photo-wrap{position:relative;width:min(35vw,520px);aspect-ratio:1;justify-self:center;transform:rotate(8deg);animation:photo-enter 1s .2s both}.hero-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;border:14px solid var(--pink);box-shadow:22px 22px 0 var(--yellow);position:relative;z-index:2}.hero-photo-ring{position:absolute;inset:-5%;border:2px dashed var(--plum);border-radius:50%;animation:spin 45s linear infinite}.photo-seal{position:absolute;z-index:4;right:-8%;bottom:-7%;width:150px;height:150px;border-radius:50%;background:var(--plum);color:var(--yellow);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;font-weight:700;transform:rotate(-19deg);font-size:.9rem}.photo-seal b{position:absolute;bottom:16px;font-size:1.8rem}@keyframes photo-enter{from{opacity:0;transform:translate(70px,50px) rotate(26deg) scale(.75)}to{opacity:1;transform:rotate(8deg)}}@keyframes spin{to{transform:rotate(360deg)}}
.hero-illustration{position:absolute;z-index:5;pointer-events:none;filter:brightness(0) saturate(100%) invert(11%) sepia(24%) saturate(1602%) hue-rotate(212deg) brightness(90%) contrast(95%)}.hero-crown{width:clamp(80px,11vw,150px);top:2%;right:11%;transform:rotate(-18deg);animation:floaty 5s ease-in-out infinite}.hero-sun{width:clamp(75px,10vw,130px);bottom:4%;right:35%;animation:spin 35s linear infinite}@keyframes floaty{50%{translate:0 -16px;rotate:7deg}}.hero-sticker{position:absolute;right:1%;top:-5%;width:130px;height:130px;z-index:4;border:2px solid var(--plum);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;line-height:1.1;transform:rotate(13deg);background:var(--yellow)}.hero-sticker b{font-size:1.6rem;position:absolute;bottom:10px}.hero-bottom p{font-size:1.05rem;margin:0;max-width:240px;line-height:1.3}.discover{display:inline-flex;align-items:center;gap:1.4rem;border:1.5px solid var(--plum);padding:.9rem 1.25rem;border-radius:100px;transition:background .25s,transform .25s}.discover:hover{background:var(--yellow);transform:translateY(-3px)}.discover span{font-size:1.4rem}.hero-issue{font:1.1rem Regina}
.ticker{background:var(--yellow);border-top:2px solid var(--plum);border-bottom:2px solid var(--plum);overflow:hidden;padding:1rem 0}.ticker-track{display:flex;width:max-content;animation:marquee 24s linear infinite}.ticker-track span{font:clamp(1.8rem,3.2vw,3.4rem)/1 Isola;letter-spacing:.01em;white-space:nowrap;padding-right:1rem}.ticker i{font-style:normal;color:var(--coral);margin:0 .3em}@keyframes marquee{to{transform:translateX(-50%)}}
.manifesto{position:relative;background:var(--mint);padding:8vw 5vw 9vw;overflow:hidden;min-height:850px}.manifesto-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.asterisk{font:6rem/1 Isola;color:var(--coral);animation:spin 25s linear infinite}.manifesto h2{font:clamp(5rem,10.6vw,13rem)/.86 Isola;letter-spacing:-.055em;position:relative;z-index:2;margin:3vw 0 4vw}.manifesto h2 em{font:normal .92em Regina;color:var(--plum);text-shadow:8px 8px 0 var(--pink);letter-spacing:-.09em;display:inline-block;transform:rotate(-7deg)}.manifesto-bottom{display:flex;align-items:end;justify-content:space-between;gap:3rem;position:relative;z-index:2}.manifesto-bottom p{max-width:420px;font-size:1.2rem;line-height:1.55;margin:0}.manifesto-note{display:flex;align-items:center;gap:1rem;font:clamp(1.15rem,2vw,2.3rem)/1 Isola;transform:rotate(-7deg)}.manifesto-note img{width:110px;filter:brightness(0) saturate(100%) invert(11%) sepia(24%) saturate(1602%) hue-rotate(212deg) brightness(90%) contrast(95%)}.manifesto-figure{position:absolute;width:clamp(130px,19vw,250px);right:18%;top:25%;opacity:.22;transform:rotate(12deg)}
.regions{position:relative;background:var(--plum);color:var(--mint);padding:8vw 5vw 7vw;overflow:hidden}.regions-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2vw;align-items:end}.regions h2{font:clamp(4.5rem,8vw,10rem)/.88 Isola;letter-spacing:-.06em;margin:0}.regions h2 em{font:normal .85em Regina;color:var(--yellow);letter-spacing:-.07em;display:inline-block;transform:rotate(-5deg)}.regions-intro p{font-size:1.05rem;line-height:1.5;max-width:260px}.region-stage{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin-top:5rem;min-height:570px}.region-options{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;align-content:center}.region-option{background:transparent;color:var(--mint);border:0;border-bottom:1px solid #a1c8bb77;text-align:left;display:flex;align-items:center;gap:.75rem;padding:1.2rem .2rem;cursor:pointer;font:clamp(1.35rem,2.1vw,2.6rem) Isola;transition:color .2s,padding .2s}.region-option:hover,.region-option.active{color:var(--yellow);padding-left:.9rem}.region-option span{font:.7rem Semplicita;align-self:start;margin-top:.4rem}.region-option b{font:1.2rem Semplicita;font-weight:400;margin-left:auto}.region-display{background:var(--pink);color:var(--plum);border-radius:46% 54% 52% 48% / 52% 47% 53% 48%;min-height:570px;position:relative;display:grid;place-items:center;overflow:hidden;transition:border-radius .7s}.region-display:hover{border-radius:55% 45% 44% 56% / 44% 56% 51% 49%}.region-display img{width:min(54%,420px);height:350px;object-fit:contain;mix-blend-mode:multiply;z-index:2;transition:transform .35s,opacity .2s}.region-display img.change{transform:rotate(13deg) scale(.8);opacity:.1}.region-ghost{position:absolute;font:clamp(12rem,26vw,35rem)/1 Isola;color:var(--yellow);opacity:.4;transform:rotate(-19deg)}.region-label{position:absolute;z-index:3;left:9%;bottom:10%;display:grid;gap:.15rem;max-width:82%}.region-label span{font-size:.75rem;font-weight:700;letter-spacing:.14em}.region-label strong{font:clamp(3rem,5vw,6rem)/1 Regina;transform:rotate(-6deg)}.region-label p{font-size:.9rem;line-height:1.3;margin:.3rem 0 0;max-width:360px}.regions-footer{text-align:center;text-transform:uppercase;letter-spacing:.17em;font-size:.8rem;font-weight:700;margin:4rem 0 0}.regions-footer span{font-size:1.3rem}
.feeling{position:relative;background:var(--yellow);min-height:650px;padding:9vw 5vw;display:grid;place-items:center;overflow:hidden}.feeling p{font:clamp(4.5rem,9.3vw,12rem)/.9 Isola;text-align:center;letter-spacing:-.055em;position:relative;z-index:2;margin:0}.feeling em{font:normal .85em Regina;display:inline-block;transform:rotate(-6deg);letter-spacing:-.08em;text-shadow:5px 5px 0 var(--pink)}.feeling-carretto{position:absolute;width:clamp(170px,25vw,400px);bottom:-4%;left:-1%;opacity:.22;transform:rotate(-11deg)}.feeling-seal{position:absolute;right:5%;top:17%;z-index:3;width:130px;height:130px;border:2px solid var(--plum);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.9rem;line-height:1.1;font-weight:700;transform:rotate(15deg)}
.gastronomy{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:var(--coral)}.gastro-art{background:var(--pink);position:relative;display:grid;place-items:center;overflow:hidden}.gastro-plate{width:min(68%,470px);aspect-ratio:1;border:3px solid var(--plum);border-radius:50%;background:var(--mint);display:grid;place-items:center;transform:rotate(-8deg);box-shadow:22px 22px 0 var(--yellow);position:relative}.gastro-plate img{width:62%;filter:brightness(0) saturate(100%) invert(11%) sepia(24%) saturate(1602%) hue-rotate(212deg) brightness(90%) contrast(95%)}.gastro-plate span{position:absolute;bottom:12%;font:clamp(1.1rem,2vw,2rem)/1 Isola;text-align:center}.gastro-lemons{position:absolute;width:clamp(100px,15vw,180px);right:3%;top:8%;transform:rotate(22deg);filter:brightness(0) saturate(100%) invert(11%) sepia(24%) saturate(1602%) hue-rotate(212deg) brightness(90%) contrast(95%)}.gastro-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative}.gastro-copy h2{font:clamp(4.5rem,7vw,8.5rem)/.9 Isola;letter-spacing:-.06em;margin:2rem 0}.gastro-copy h2 em{font:normal .9em Regina;color:var(--yellow);-webkit-text-stroke:1px var(--plum);display:inline-block;transform:rotate(-6deg)}.gastro-copy>p{max-width:430px;line-height:1.55;font-size:1.15rem}.gastro-sticker{border:2px solid var(--plum);border-radius:50%;width:145px;height:145px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:.85rem;line-height:1.1;transform:rotate(12deg);align-self:flex-end;margin-top:1.5rem;background:var(--yellow);position:relative}.gastro-sticker b{font-size:1.4rem;position:absolute;bottom:10px}
.final-cta{position:relative;background:var(--mint);text-align:center;padding:9vw 5vw 10vw;overflow:hidden}.final-cta h2{font:clamp(5rem,11vw,13rem)/.85 Isola;letter-spacing:-.06em;margin:2rem 0 3rem;position:relative;z-index:2}.final-cta h2 em{font:normal .9em Regina;letter-spacing:-.08em;display:inline-block;transform:rotate(-6deg);text-shadow:7px 7px 0 var(--pink)}.final-cta>a{display:inline-flex;align-items:center;gap:4rem;background:var(--plum);color:var(--yellow);border-radius:100px;padding:1.4rem 2rem;font-size:.85rem;font-weight:700;letter-spacing:.1em;position:relative;z-index:2;transition:transform .25s,background .25s}.final-cta>a:hover{background:var(--coral);color:var(--plum);transform:translateY(-5px)}.final-cta>a span{font-size:1.5rem}.final-cta>img{position:absolute;width:clamp(120px,17vw,230px);right:1%;bottom:6%;opacity:.22;transform:rotate(-18deg)}
.footer{background:var(--plum);color:var(--mint);padding:5vw;display:grid;grid-template-columns:2fr 2fr 1fr;gap:2rem}.footer>img{width:185px}.footer p{font-size:1.15rem;line-height:1.45;margin:0}.footer-links{display:grid;align-content:start;gap:.7rem;text-transform:uppercase;font-size:.85rem;letter-spacing:.07em}.footer-links a:hover{color:var(--yellow)}.footer small{grid-column:1/-1;opacity:.7;margin-top:3rem}
.reveal{opacity:0;translate:0 50px;transition:opacity .8s ease,translate .8s ease}.reveal.in-view{opacity:1;translate:0 0}
@media(max-width:1050px){.desktop-nav{gap:1.5rem}.hero-photo-wrap{width:39vw}.hero-sticker{right:-2%}.regions-intro{grid-template-columns:1fr 2fr}.regions-intro p{grid-column:2}.region-option{font-size:1.45rem}}
@media(max-width:800px){.site-header{height:74px;padding:0 5vw}.brand img{width:120px}.desktop-nav,.header-book{display:none}.menu-toggle{display:block}.mobile-menu{top:74px}.hero{min-height:760px;padding:4rem 5vw 2rem}.hero-meta span:last-child,.hero-issue{display:none}.hero-composition{grid-template-columns:1fr;min-height:600px;align-items:start}.hero-type{padding-top:2rem}.hero h1{position:relative;z-index:3}.hero-word{font-size:26vw}.hero-e{font-size:16vw;margin-left:38%}.hero h1 em{font-size:11.8vw;white-space:normal}.hero-photo-wrap{position:absolute;width:min(53vw,390px);right:5%;bottom:4%;z-index:1}.hero-crown{top:4%;right:2%}.hero-sun{bottom:4%;right:58%;width:100px}.hero-sticker{top:0;right:0;width:100px;height:100px;font-size:.7rem}.hero-bottom p{font-size:.85rem}.discover{font-size:.65rem}.manifesto{min-height:0;padding:7rem 5vw}.manifesto h2{font-size:clamp(5rem,11vw,8rem);margin:4rem 0}.manifesto-figure{top:27%;right:8%}.regions{padding:7rem 5vw}.regions-intro{display:block}.regions-intro p{max-width:440px}.region-stage{grid-template-columns:1fr;margin-top:3rem}.region-display{min-height:490px;order:1}.region-options{order:2}.region-option{font-size:1.55rem}.feeling{min-height:520px}.feeling p{font-size:8vw}.gastronomy{grid-template-columns:1fr}.gastro-art{min-height:560px}.gastro-copy{padding:6rem 5vw}.footer{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.pattern{height:35px}.hero{min-height:790px;padding-top:3rem}.hero-composition{min-height:620px}.hero-type{padding-top:2rem}.hero-kicker{font-size:1.2rem}.hero-word{font-size:29vw}.hero-e{font-size:24vw;line-height:.48}.hero h1 em{font-size:12.8vw;line-height:.9;margin-top:.18em}.hero-photo-wrap{width:63vw;right:6%;bottom:8%}.hero-photo{border-width:8px;box-shadow:13px 14px 0 var(--yellow)}.photo-seal{width:85px;height:85px;font-size:.56rem;right:-12%;bottom:-5%}.photo-seal b{font-size:1rem;bottom:7px}.hero-crown{width:75px;right:4%;top:2%}.hero-sun{width:75px;left:3%;bottom:12%;right:auto}.hero-sticker{width:78px;height:78px;top:0;font-size:.52rem}.hero-sticker b{font-size:1rem;bottom:5px}.hero-bottom{gap:.7rem}.hero-bottom p{max-width:145px;font-size:.75rem}.discover{padding:.7rem .8rem;gap:.4rem;max-width:175px;line-height:1.2}.discover span{font-size:1.1rem}.manifesto{padding:5rem 5vw}.manifesto-top .asterisk{font-size:3rem}.manifesto h2{font-size:clamp(3.8rem,13vw,6rem);margin:4rem 0 3rem}.manifesto-bottom{display:grid;gap:2rem}.manifesto-note img{width:75px}.manifesto-bottom p{font-size:1rem}.manifesto-figure{width:120px;right:-3%;top:28%}.regions{padding:5rem 5vw}.regions h2{font-size:clamp(4rem,13vw,6rem);margin:2rem 0}.region-display{min-height:390px}.region-display img{height:225px}.region-ghost{font-size:13rem}.region-label{bottom:13%;left:11%}.region-label strong{font-size:3.3rem}.region-label p{font-size:.75rem}.region-options{gap:0 .6rem}.region-option{font-size:1.1rem;padding:1rem .1rem}.region-option span{font-size:.6rem}.region-option b{font-size:.9rem}.regions-footer{margin-top:2rem}.feeling{min-height:450px;padding:6rem 4vw}.feeling p{font-size:12vw}.feeling-carretto{width:190px}.feeling-seal{width:75px;height:75px;font-size:.5rem;top:12%}.gastro-art{min-height:410px}.gastro-plate{width:67%;box-shadow:13px 13px 0 var(--yellow)}.gastro-plate span{font-size:1rem}.gastro-lemons{width:95px}.gastro-copy h2{font-size:clamp(4.5rem,14vw,6rem)}.gastro-copy>p{font-size:1rem}.final-cta{padding:6rem 5vw}.final-cta h2{font-size:clamp(4.5rem,15vw,7rem)}.final-cta>a{gap:1rem;padding:1.2rem 1.4rem;font-size:.72rem}.footer{grid-template-columns:1fr;padding:4rem 5vw}.footer small{margin-top:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;translate:none}}

/* La rotta: an editorial cartographic poster with eight interactive regions. */
.regions{padding-bottom:5vw}.regions-intro{grid-template-columns:1fr 2.4fr 1fr}.regions-intro p{max-width:270px}.map-stage{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.8fr);gap:4vw;align-items:center;margin-top:4rem}.map-paper{position:relative;min-height:780px;background:var(--mint);color:var(--plum);border:3px solid var(--plum);outline:2px solid var(--mint);outline-offset:7px;transform:rotate(-1.5deg);overflow:hidden;box-shadow:22px 22px 0 var(--coral)}.map-paper::before{content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;background:url('assets/pattern-fiori.svg') center/150px}.map-paper::after{content:"";position:absolute;inset:16px;border:2px solid var(--plum);pointer-events:none;z-index:3}.italy-map{width:100%;height:750px;position:relative;z-index:2;display:block;overflow:visible}.map-north{transform:translate(-17px,-13px);opacity:.77}.map-south{transform:translate(18px,20px)}.map-other{fill:#dcd4b9;stroke:var(--plum);stroke-width:1.5;vector-effect:non-scaling-stroke}.map-region{fill:var(--coral);stroke:var(--plum);stroke-width:2.5;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .25s,filter .25s,transform .25s;transform-box:fill-box;transform-origin:center}.map-region:nth-child(2n){fill:var(--pink)}.map-region:nth-child(3n){fill:var(--yellow)}.map-region:hover,.map-region:focus-visible{fill:var(--yellow);filter:drop-shadow(8px 9px 0 #24193588);transform:translateY(-7px);outline:none}.map-paper-label{position:absolute;z-index:4;font:clamp(1.1rem,2vw,2rem)/.9 Isola;letter-spacing:-.02em;pointer-events:none}.map-paper-north{top:3.5rem;left:2.5rem;transform:rotate(-7deg)}.map-paper-north b{font:3rem Regina;color:var(--coral)}.map-paper-south{right:1.5rem;bottom:4rem;transform:rotate(9deg);background:var(--yellow);padding:.7rem .8rem;border:2px solid var(--plum)}.map-paper-south b{font:2rem Semplicita}.map-instruction{position:absolute;left:2.5rem;bottom:2rem;z-index:4;font-size:.7rem;font-weight:700;letter-spacing:.15em}.map-ornament{position:absolute;right:2.5rem;top:2rem;font:5rem/1 Isola;color:var(--coral);-webkit-text-stroke:2px var(--plum);animation:spin 22s linear infinite}.map-side{position:relative;padding:2rem 0}.map-side-title{font:clamp(4rem,7vw,9rem)/.79 Isola;letter-spacing:-.06em;color:var(--yellow);margin:2rem 0}.map-side-title em{font:normal .9em Regina;color:var(--coral);display:inline-block;transform:rotate(-7deg)}.map-side>p:not(.map-side-title){font-size:1.1rem;line-height:1.45;max-width:350px;margin:2rem 0 3rem}.map-key{border-top:1px solid #a1c8bb8a;padding:1rem 0;font-size:.72rem;font-weight:700;letter-spacing:.13em;display:flex;align-items:center;gap:.7rem}.map-key i{display:block;width:17px;height:17px;background:var(--coral);border:1px solid var(--mint);transform:rotate(12deg)}.map-key span{margin-left:auto}.map-key-muted i{background:#dcd4b9}.map-current{display:inline-block;margin-top:3rem;background:var(--pink);color:var(--plum);padding:.8rem 1rem;transform:rotate(-4deg);font:1.35rem Isola;min-height:2.8rem}.map-picks{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:5rem}.map-picks button{border:1px solid var(--mint);color:var(--mint);border-radius:100px;background:transparent;padding:.7rem 1rem;font-weight:700;letter-spacing:.07em;cursor:pointer;transition:background .2s,color .2s,transform .2s}.map-picks button:hover,.map-picks button:focus-visible{background:var(--yellow);color:var(--plum);transform:translateY(-3px)}
.map-credit{text-align:center;font-size:.68rem;letter-spacing:.06em;opacity:.65;margin:1.5rem 0 0}.map-credit a{text-decoration:underline;text-underline-offset:.2em}
body.region-open{overflow:hidden}.region-modal[hidden]{display:none}.region-modal{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:2rem}.region-modal-backdrop{position:absolute;inset:0;background:#0b0710dd;backdrop-filter:blur(6px)}.region-modal-card{position:relative;z-index:1;width:min(1050px,100%);max-height:min(760px,calc(100svh - 4rem));display:grid;grid-template-columns:1.1fr .9fr;background:var(--yellow);color:var(--plum);border:3px solid var(--plum);box-shadow:18px 18px 0 var(--coral);overflow:auto;animation:regionAppear .35s ease both}.region-modal-image{position:relative;min-height:530px;background:var(--coral)}.region-modal-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.region-modal-image span{position:absolute;bottom:1.4rem;left:1.4rem;background:var(--plum);color:var(--yellow);padding:.65rem .8rem;font-size:.7rem;font-weight:700;letter-spacing:.12em}.region-modal-copy{position:relative;padding:4rem 3rem 3rem;display:flex;flex-direction:column;overflow:hidden}.region-modal-copy::before{content:"";position:absolute;inset:0;opacity:.14;background:url('assets/pattern-soli.svg') center/140px;pointer-events:none}.region-modal-copy>*{position:relative;z-index:1}.region-modal-copy h3{font:clamp(3.8rem,5vw,6rem)/.85 Isola;letter-spacing:-.065em;margin:2.5rem 0 1rem;overflow-wrap:anywhere}.region-modal-copy>p{font-size:1.2rem;line-height:1.4;max-width:360px}.region-modal-bottom{border-top:2px solid var(--plum);margin-top:auto;padding-top:1.2rem;display:grid;gap:.5rem}.region-modal-bottom span{font-size:.68rem;font-weight:700;letter-spacing:.14em}.region-modal-bottom strong{font:1.35rem/1.1 Regina}.region-modal-deco{position:absolute;font:8rem Isola;color:var(--coral);right:1rem;bottom:4.5rem;z-index:0;opacity:.5}.region-modal-close{position:absolute;z-index:5;right:1rem;top:1rem;border:2px solid var(--plum);border-radius:50%;width:50px;height:50px;background:var(--pink);color:var(--plum);font:2rem/1 Semplicita;cursor:pointer}.region-modal-close:hover{background:var(--coral)}@keyframes regionAppear{from{opacity:0;transform:translateY(25px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:1050px){.map-stage{grid-template-columns:1fr .75fr;gap:3vw}.map-paper{min-height:630px}.italy-map{height:610px}.map-side-title{font-size:6vw}.map-paper-label{font-size:1.2rem}}
@media(max-width:800px){.regions-intro{display:block}.map-stage{display:grid;grid-template-columns:1fr;gap:3rem}.map-paper{width:min(100%,650px);margin-inline:auto;min-height:720px}.italy-map{height:690px}.map-side{padding:0}.map-side-title{font-size:clamp(5rem,11vw,8rem)}.map-side>p:not(.map-side-title){margin:1.5rem 0}.map-current{margin-top:1.5rem}.map-picks{margin-top:3rem}.region-modal-card{grid-template-columns:1fr 1fr}.region-modal-copy{padding:3.5rem 2rem 2rem}.region-modal-image{min-height:490px}}
@media(max-width:550px){.map-stage{margin-top:2.5rem}.map-paper{min-height:510px;box-shadow:10px 10px 0 var(--coral)}.map-paper::after{inset:8px}.italy-map{height:500px}.map-paper-label{font-size:.95rem}.map-paper-north{top:2rem;left:1.2rem}.map-paper-north b{font-size:1.8rem}.map-paper-south{bottom:2.5rem;right:.8rem;padding:.4rem}.map-paper-south b{font-size:1.2rem}.map-instruction{left:1rem;bottom:1rem;font-size:.55rem}.map-ornament{right:1rem;top:1rem;font-size:3rem}.map-side-title{font-size:15vw;margin:1.5rem 0}.map-picks button{font-size:.72rem;padding:.6rem .75rem}.region-modal{padding:1rem}.region-modal-card{display:block;max-height:calc(100svh - 2rem);box-shadow:8px 8px 0 var(--coral)}.region-modal-image{min-height:230px;height:37svh}.region-modal-copy{padding:2rem 1.3rem 1.5rem;min-height:330px}.region-modal-copy h3{font-size:clamp(3.3rem,15vw,5rem);margin:1rem 0}.region-modal-copy>p{font-size:1rem}.region-modal-close{width:42px;height:42px}.region-modal-deco{font-size:6rem}}

/* Il sipario: una dichiarazione prima di entrare. */
body.splash-open{overflow:hidden}
.splash{position:fixed;inset:0;z-index:200;background:var(--plum);color:var(--yellow);display:grid;place-items:center;overflow:hidden;isolation:isolate;transition:transform .95s cubic-bezier(.77,0,.18,1),visibility .95s}
.splash::before{content:"";position:absolute;width:min(78vw,84vh);aspect-ratio:1;border:2px solid var(--pink);border-radius:50%;transform:rotate(-17deg) scale(1.12);opacity:.33;box-shadow:0 0 0 7vw #241935,0 0 0 calc(7vw + 2px) #fea5a566;pointer-events:none}
.splash::after{content:"✳";position:absolute;right:-.1em;bottom:-.35em;font:clamp(25rem,55vw,70rem)/1 Regina;color:var(--coral);opacity:.13;pointer-events:none}
.splash-grain{opacity:.25}.splash-corner,.splash-bottom{position:absolute;z-index:2;left:4vw;font-size:.75rem;font-weight:700;letter-spacing:.2em}.splash-corner{top:3vw}.splash-bottom{bottom:3vw}
.splash-content{position:relative;z-index:2;display:grid;width:min(1100px,92vw);text-align:center;transform:rotate(-3deg)}.splash-name,.splash-motto{display:grid;justify-items:center}.splash-name{font:clamp(6rem,18vw,19rem)/.68 Isola;letter-spacing:-.09em;color:var(--coral);text-shadow:6px 7px 0 var(--pink)}.splash-name span,.splash-motto>span{display:block;animation:splash-rise .75s cubic-bezier(.2,.75,.2,1) both}.splash-name span:nth-child(2){animation-delay:.18s}.splash-motto{font:clamp(3rem,8.2vw,9rem)/.78 Isola;letter-spacing:-.055em;margin-top:3.5vw}.splash-motto>span:nth-child(1){animation-delay:.42s}.splash-motto>span:nth-child(2){animation-delay:.6s}.splash-motto>span:nth-child(3){animation-delay:.76s}.splash-motto .splash-and{font:clamp(3rem,6vw,6rem)/.6 Regina;color:var(--pink);transform:rotate(10deg)}.splash-stop{color:var(--coral)}.splash-crown{position:absolute;z-index:3;width:clamp(85px,13vw,200px);left:65%;top:6%;transform:rotate(13deg);filter:brightness(0) saturate(100%) invert(70%) sepia(64%) saturate(714%) hue-rotate(346deg) brightness(105%) contrast(103%);animation:crown-pop 1s .9s both, floaty 5s 1.9s ease-in-out infinite;pointer-events:none}
.splash-enter{position:absolute;right:4vw;bottom:3vw;z-index:5;border:1.5px solid var(--yellow);background:var(--yellow);color:var(--plum);border-radius:100px;padding:1rem 1.35rem;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.12em;display:flex;gap:2.5rem;align-items:center;transition:background .2s,transform .2s}.splash-enter:hover{background:var(--pink);transform:translateY(-4px)}.splash-enter span{font-size:1.5rem;line-height:.5}.splash.is-leaving{transform:translateY(-105%);visibility:hidden}
@keyframes splash-rise{from{opacity:0;transform:translateY(70px) rotate(5deg);filter:blur(9px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}@keyframes crown-pop{from{opacity:0;scale:.2;rotate:-35deg}to{opacity:1;scale:1;rotate:0}}

/* Una corona attraversa la pagina, seguendo la rotta di lettura. */
.scroll-emblem{position:fixed;z-index:24;top:0;left:0;width:clamp(62px,7vw,108px);height:auto;pointer-events:none;opacity:0;transform:translate3d(var(--emblem-x,88vw),var(--emblem-y,35vh),0) rotate(var(--emblem-angle,-12deg));transition:transform .8s cubic-bezier(.18,.73,.28,1),opacity .35s;filter:brightness(0) saturate(100%) invert(11%) sepia(24%) saturate(1602%) hue-rotate(212deg) brightness(90%) contrast(95%)}.scroll-emblem.visible{opacity:.9}.scroll-emblem.light{filter:brightness(0) saturate(100%) invert(84%) sepia(95%) saturate(1286%) hue-rotate(325deg) brightness(102%) contrast(101%)}

/* La fotografia originale delle due pizze resta intera, come un manifesto. */
.hero-photo-wrap{width:min(39vw,620px);aspect-ratio:1.42;transform:rotate(6deg);animation:photo-enter 1s .2s both}.hero-photo{border-radius:12px;border:10px solid var(--pink);box-shadow:19px 20px 0 var(--yellow);object-fit:cover}.hero-photo-ring{inset:-5%;border-radius:18px;transform:rotate(-5deg);animation:none}.photo-seal{right:-7%;bottom:-15%}
@keyframes photo-enter{from{opacity:0;transform:translate(70px,50px) rotate(22deg) scale(.75)}to{opacity:1;transform:rotate(6deg)}}
@media(max-width:800px){.hero-photo-wrap{width:min(63vw,470px);aspect-ratio:1.42;right:3%;bottom:12%}.splash-name{font-size:25vw}.splash-motto{font-size:11vw;margin-top:6vw}.splash-crown{left:73%;top:3%}.scroll-emblem{width:65px}}
@media(max-width:550px){.hero-photo-wrap{width:72vw;right:7%;bottom:15%}.hero-photo{border-width:7px;box-shadow:12px 13px 0 var(--yellow)}.photo-seal{right:-10%;bottom:-22%}.splash-content{width:96vw;transform:rotate(-4deg) translateY(-4vh)}.splash-name{font-size:32vw;line-height:.72}.splash-motto{font-size:12.5vw;margin-top:12vw}.splash-crown{width:90px;left:70%;top:4%}.splash-corner{top:6vw;left:6vw}.splash-bottom{left:6vw;bottom:6vw;max-width:38%;line-height:1.4;font-size:.58rem}.splash-enter{right:5vw;bottom:5vw;gap:.6rem;padding:.85rem 1rem;font-size:.58rem;max-width:52%;line-height:1.3}.scroll-emblem{width:48px}}
@media(prefers-reduced-motion:reduce){.splash-content *{animation:none!important}.splash{transition:none}.scroll-emblem{display:none}}

/* Cinque cartelli netti, ognuno con il proprio colore. */
.splash{background:var(--yellow);color:var(--plum);transition:transform .58s cubic-bezier(.76,0,.22,1),visibility .58s}
.splash::before,.splash::after{content:none}
.splash-slide{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;visibility:hidden;transform:translateY(101%);transition:transform .44s cubic-bezier(.76,0,.22,1),visibility .44s;z-index:1}
.splash-slide.is-active{visibility:visible;transform:translateY(0);z-index:3}
.splash-slide.is-past{visibility:hidden;transform:translateY(-101%);z-index:2}
.splash-slide>span:first-child{display:block;max-width:96vw;text-align:center;font:clamp(7rem,27vw,28rem)/.72 Isola;letter-spacing:-.085em;white-space:nowrap}
.slide-piu{background:var(--yellow);color:var(--plum)}
.slide-sud{background:var(--coral);color:var(--plum)}
.slide-pizza{background:var(--mint);color:var(--plum)}.slide-pizza>span:first-child{font-size:clamp(5rem,22vw,23rem)}
.slide-sentimento{background:var(--plum);color:var(--pink);align-content:center;gap:1.2rem}.slide-sentimento>span:last-child{font:clamp(3.5rem,12vw,12rem)/.8 Isola;letter-spacing:-.075em;white-space:nowrap}.slide-sentimento>span.little-e{font:clamp(5rem,10vw,10rem)/.8 Regina;color:var(--yellow);transform:rotate(-8deg)}.slide-sentimento .period{color:var(--coral)}
.slide-corona{background:var(--pink);color:var(--plum);align-content:center;justify-items:center;gap:0}.slide-corona img{width:min(55vw,620px);max-height:60vh;object-fit:contain;filter:brightness(0) saturate(100%) invert(11%) sepia(24%) saturate(1602%) hue-rotate(212deg) brightness(90%) contrast(95%)}.slide-corona .crown-caption{font:clamp(1.5rem,3vw,3rem)/.95 Isola;text-align:center;letter-spacing:.02em}
.splash-count{position:absolute;z-index:6;top:4vw;left:4vw;font-size:.8rem;font-weight:700;letter-spacing:.16em;color:var(--plum);transition:color .18s}.splash:has(.slide-sentimento.is-active) .splash-count{color:var(--pink)}
.splash-enter{z-index:7;right:4vw;bottom:3vw;background:var(--plum);border-color:var(--plum);color:var(--yellow);transition:background .2s,color .2s,transform .2s}.splash-enter:hover{background:var(--yellow);color:var(--plum)}.splash:has(.slide-sentimento.is-active) .splash-enter{background:var(--pink);border-color:var(--pink);color:var(--plum)}
@media(max-width:800px){.splash-slide>span:first-child{font-size:28vw}.slide-pizza>span:first-child{font-size:22vw}.slide-sentimento>span:last-child{font-size:11.5vw}.slide-corona img{width:min(75vw,500px)}}
@media(max-width:550px){.splash-slide>span:first-child{font-size:32vw}.slide-pizza>span:first-child{font-size:22vw}.slide-sentimento{gap:2rem}.slide-sentimento>span:last-child{font-size:11.1vw}.slide-sentimento .little-e{font-size:25vw}.slide-corona img{width:85vw}.slide-corona .crown-caption{font-size:6vw}.splash-count{top:6vw;left:6vw}.splash-enter{right:5vw;bottom:5vw;max-width:none;font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.splash-slide{transition:none}.splash{transition:none}}

.merch-art{background:var(--pink);display:grid;place-items:center;isolation:isolate}.merch-art::before{content:"";position:absolute;inset:0;background:url('assets/pattern-triangoli.svg') center/auto 72px repeat;opacity:.08;pointer-events:none}.merch-shirt{height:min(82%,650px);width:auto;max-width:76%;object-fit:contain;transform:rotate(-8deg);box-shadow:28px 30px 0 var(--yellow);transition:transform .5s;position:relative;z-index:2}.merch-art:hover .merch-shirt{transform:rotate(2deg) scale(1.04)}.merch-art-label{position:absolute;z-index:3;right:6%;bottom:7%;border-radius:50%;background:var(--yellow);width:145px;height:145px;display:grid;place-items:center;text-align:center;font:1.3rem/1 Isola;transform:rotate(11deg)}.shop-link{display:inline-flex;align-items:center;gap:2rem;background:var(--plum);color:var(--yellow);border-radius:100px;padding:1rem 1.5rem;margin-top:1.2rem;font-weight:700;font-size:.8rem;letter-spacing:.1em;transition:transform .25s,background .25s}.shop-link:hover{background:var(--yellow);color:var(--plum);transform:translateY(-4px)}.shop-link span{font-size:1.5rem}
@media(max-width:800px){.merch-art{min-height:560px}.merch-shirt{height:480px}.merch-art-label{width:120px;height:120px;font-size:1rem}}
@media(max-width:550px){.merch-art{min-height:420px}.merch-shirt{height:350px;max-width:70%;box-shadow:15px 16px 0 var(--yellow)}.merch-art-label{width:90px;height:90px;font-size:.78rem}}

/* One-second brand intro. */
.splash{transition:transform .18s ease-in,visibility .18s}
.splash-slide{transition:transform .22s cubic-bezier(.76,0,.22,1),visibility .22s}

/* The menu entrance: a poster that turns into a gallop. */
.menu-gate{min-height:760px;background:var(--yellow);padding:7rem 5vw 6rem;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2vw;isolation:isolate}
.menu-gate::before{content:"";position:absolute;inset:0;background:url('assets/pattern-fiori.svg') center/130px;opacity:.08;pointer-events:none}
.menu-gate-text{position:relative;z-index:3;align-self:center}.menu-gate h2{font:clamp(6rem,12vw,15rem)/.75 Isola;letter-spacing:-.075em;margin:2rem 0 1.6rem;text-align:left}.menu-gate h2 em{font:normal .8em Regina;color:var(--coral);display:inline-block;transform:rotate(-6deg);text-shadow:6px 7px 0 var(--plum)}.menu-gate-star{display:inline-block;font:clamp(4rem,7vw,8rem)/1 Semplicita;color:var(--coral);vertical-align:top;margin-left:.2em;animation:spin 18s linear infinite}.menu-gate-text>p{font:1.18rem/1.45 Semplicita;max-width:430px;text-align:left;letter-spacing:0;margin:0 0 2rem}.menu-launch{display:inline-grid;grid-template-columns:1fr auto;gap:.3rem 2.5rem;background:var(--plum);color:var(--yellow);border:2px solid var(--plum);border-radius:100px;padding:1rem 1.3rem 1rem 1.6rem;min-width:290px;transition:transform .25s,background .25s,color .25s;position:relative;z-index:5}.menu-launch:hover,.menu-launch:focus-visible{background:var(--coral);color:var(--plum);transform:translateY(-7px) rotate(-2deg)}.menu-launch-mini{font-size:.65rem;font-weight:700;letter-spacing:.16em;grid-column:1}.menu-launch strong{font:1.65rem/1 Isola;grid-column:1}.menu-launch b{grid-column:2;grid-row:1/3;font:2rem/1 Semplicita;align-self:center}.menu-gate-art{position:relative;z-index:2;width:100%;height:560px;display:grid;place-items:center}.menu-gate-art::after{content:"";position:absolute;width:85%;height:18px;bottom:13%;left:0;background:var(--plum);transform:rotate(-6deg);box-shadow:0 23px 0 var(--coral),0 46px 0 var(--plum)}.menu-gate-art img{position:relative;z-index:3;width:125%;max-width:none;transform:translate(-3%,6%) rotate(-4deg);animation:cartPulse 2.5s ease-in-out infinite}.menu-art-sun{position:absolute;width:min(33vw,480px);aspect-ratio:1;border-radius:50%;background:var(--pink) url('assets/pattern-soli.svg') center/105px;right:3%;top:2%;border:3px solid var(--plum);animation:spin 40s linear infinite}.menu-art-stamp{position:absolute;right:2%;bottom:0;z-index:4;width:140px;height:140px;border-radius:50%;background:var(--coral);border:3px solid var(--plum);display:grid;place-content:center;text-align:center;font-weight:700;font-size:.85rem;line-height:1.15;transform:rotate(12deg)}.menu-gate-footer{position:absolute;left:5vw;bottom:2rem;font-size:.75rem;font-weight:700;letter-spacing:.15em}.menu-gate{scroll-margin-top:0}@keyframes cartPulse{50%{transform:translate(0,4%) rotate(-2deg) scale(1.025)}}
body.menu-running{overflow:hidden}.menu-run[hidden]{display:none}.menu-run{position:fixed;inset:0;z-index:220;background:var(--coral);color:var(--plum);overflow:hidden;isolation:isolate}.menu-run::before{content:"";position:absolute;inset:-20%;background:url('assets/pattern-triangoli.svg') center/auto 90px repeat;opacity:.12}.menu-run::after{content:"";position:absolute;inset:0;background:var(--yellow);opacity:0;pointer-events:none}.menu-run.is-running::after{animation:menuFlash 2.65s both}.menu-run-track{position:absolute;left:-20%;right:-20%;bottom:21%;height:18px;background:var(--plum);box-shadow:0 26px 0 var(--plum),0 52px 0 var(--plum);transform:rotate(-5deg)}.menu-run-speed{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 28px,#24193565 29px 32px,transparent 33px 67px);opacity:0;transform:translateX(-60%)}.menu-run.is-running .menu-run-speed{animation:speedRush 2.6s cubic-bezier(.8,0,1,1) forwards}.menu-run-kicker{position:absolute;left:5vw;top:5vh;font-size:.8rem;font-weight:700;letter-spacing:.2em}.menu-run-carriage{position:absolute;width:min(72vw,900px);aspect-ratio:1;left:7vw;top:50%;transform:translateY(-50%);z-index:2}.menu-run-carriage img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(11%) sepia(24%) saturate(1602%) hue-rotate(212deg) brightness(90%) contrast(95%)}.menu-run.is-running .menu-run-carriage{animation:runZoom 2.65s cubic-bezier(.2,.65,.7,1) forwards}.menu-run-whip{position:absolute;width:25%;height:auto;left:32%;top:21%;color:var(--plum);transform-origin:10% 90%;opacity:0}.menu-run.is-running .menu-run-whip{animation:whipCrack 1.65s ease-in-out both}.menu-run p{position:absolute;right:4vw;top:26%;font:clamp(5rem,11vw,13rem)/.8 Isola;text-align:right;letter-spacing:-.07em;transform:rotate(-7deg);margin:0;z-index:3}.menu-run p em{font:normal .8em Regina;color:var(--yellow);-webkit-text-stroke:1px var(--plum)}.menu-run-counter{position:absolute;right:5vw;bottom:7vh;font-size:.8rem;font-weight:700;letter-spacing:.18em}.menu-run-skip{position:absolute;left:5vw;bottom:6vh;z-index:8;border:1.5px solid var(--plum);border-radius:100px;padding:.9rem 1rem;font-size:.75rem;font-weight:700;letter-spacing:.1em;background:var(--yellow)}.menu-run-skip:hover{background:var(--pink)}
@keyframes runZoom{0%{transform:translate(-65vw,-50%) scale(.42) rotate(-8deg)}18%{transform:translate(-25vw,-52%) scale(.66) rotate(-4deg)}38%{transform:translate(-5vw,-47%) scale(.83) rotate(1deg)}56%{transform:translate(4vw,-52%) scale(1.02) rotate(-3deg)}72%{transform:translate(12vw,-47%) scale(1.25) rotate(1deg)}84%{transform:translate(28vw,-50%) scale(1.8)}100%{transform:translate(56vw,-50%) scale(10)}}
@keyframes whipCrack{0%,8%{opacity:0;transform:rotate(-70deg)}13%{opacity:1;transform:rotate(15deg)}21%{transform:rotate(-55deg)}31%{transform:rotate(25deg)}39%{transform:rotate(-50deg)}49%{transform:rotate(35deg)}57%{transform:rotate(-40deg)}67%{transform:rotate(50deg)}80%,100%{opacity:0;transform:rotate(70deg)}}
@keyframes speedRush{0%,22%{opacity:0;transform:translateX(-75%)}35%{opacity:.08}65%{opacity:.22}100%{opacity:.7;transform:translateX(100%)}}@keyframes menuFlash{0%,78%{opacity:0}90%{opacity:.1}100%{opacity:1}}
@media(max-width:1050px){.menu-gate{grid-template-columns:1fr 1fr}.menu-gate h2{font-size:11vw}.menu-gate-art{height:470px}.menu-run p{top:10%;font-size:10vw}}
@media(max-width:800px){.menu-gate{min-height:950px;display:block;padding:6rem 5vw 4rem}.menu-gate h2{font-size:14vw}.menu-gate-art{width:min(100%,600px);height:410px;margin:1rem auto 0}.menu-art-sun{width:350px}.menu-gate-art img{width:95%;transform:none}.menu-gate-footer{bottom:1rem}.menu-run-carriage{width:110vw;left:-15vw}.menu-run p{font-size:13vw;top:12%}}
@media(max-width:550px){.menu-gate{min-height:800px;padding-top:5rem}.menu-gate h2{font-size:17vw;margin:1.7rem 0}.menu-gate h2 em{font-size:.9em}.menu-gate-text>p{font-size:1rem;max-width:320px}.menu-gate-star{font-size:12vw}.menu-launch{min-width:0;width:100%;max-width:350px}.menu-gate-art{height:300px;margin-top:1.5rem}.menu-art-sun{width:70vw}.menu-gate-art::after{bottom:6%}.menu-art-stamp{width:88px;height:88px;font-size:.55rem;right:0;bottom:-3%}.menu-gate-footer{font-size:.52rem}.menu-run-carriage{width:150vw;left:-45vw}.menu-run-track{bottom:32%}.menu-run p{font-size:18vw;top:14%;right:5vw}.menu-run-kicker{font-size:.65rem}.menu-run-skip{font-size:.62rem}.menu-run-counter{font-size:.55rem}}
@media(prefers-reduced-motion:reduce){.menu-gate-art img,.menu-art-sun,.menu-gate-star{animation:none}.menu-run{display:none!important}}
@media(max-width:550px){.menu-gate h2{line-height:.87}.menu-gate h2 em{font-size:.83em}}

/* Shared navigation + back to top */
.site-header{position:sticky;top:0;z-index:80}.back-to-top{position:fixed;right:22px;bottom:22px;z-index:75;width:54px;height:54px;border:2px solid var(--plum);border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--plum);font-size:1.55rem;font-weight:800;box-shadow:4px 4px 0 var(--plum);transition:transform .2s,box-shadow .2s}.back-to-top:hover,.back-to-top:focus-visible{transform:translate(-2px,-3px);box-shadow:7px 7px 0 var(--plum)}@media(max-width:800px){.back-to-top{width:46px;height:46px;right:16px;bottom:16px}}


.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header,.site-header a,.site-header button,.nav-language select{font-family:Semplicita,Arial,sans-serif}.nav-language{display:flex;align-items:center;flex:0 0 auto}.nav-language select{appearance:none;border:1.5px solid var(--plum);border-radius:100px;background:var(--yellow);color:var(--plum);padding:.7rem 1.8rem .7rem .7rem;font-weight:700;font-size:.72rem;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--plum) 50%),linear-gradient(135deg,var(--plum) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px;background-repeat:no-repeat}.goog-te-banner-frame,.skiptranslate iframe{display:none!important}body{top:0!important}@media(max-width:1050px){.site-header{gap:.8rem}.desktop-nav{gap:1rem}.desktop-nav a{font-size:.65rem}.book{padding:.8rem 1rem}}@media(max-width:800px){.nav-language{margin-left:auto}.nav-language select{padding:.55rem 1.6rem .55rem .6rem}}


/* Keep Google Translate functional without its page overlay */
html{margin-top:0!important}.goog-te-banner-frame.skiptranslate,iframe.goog-te-banner-frame,iframe.VIpgJd-ZVi9od-ORHb-OEVmcd,#goog-gt-tt,.goog-te-balloon-frame,.goog-te-spinner-pos,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-yAWNEb-L7lbkb{display:none!important;visibility:hidden!important}.goog-text-highlight{background:transparent!important;box-shadow:none!important}body{top:0!important}


.nav-language{position:relative;display:block}.nav-language summary{list-style:none;border:1.5px solid var(--plum);border-radius:100px;background:var(--yellow);color:var(--plum);padding:.55rem .85rem;display:flex;align-items:center;gap:.45rem;cursor:pointer;font-family:Semplicita,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.08em}.nav-language summary::-webkit-details-marker{display:none}.language-current{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:1.35rem;line-height:1}.language-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:100;min-width:175px;padding:7px;background:var(--yellow);border:2px solid var(--plum);box-shadow:5px 5px 0 var(--plum);display:grid}.language-menu button{border:0;background:transparent;color:var(--plum);padding:.68rem .75rem;text-align:left;display:flex;align-items:center;gap:.7rem;font-family:Semplicita,Arial,sans-serif;font-size:.82rem;font-weight:700;white-space:nowrap}.language-menu button:hover,.language-menu button.selected{background:var(--plum);color:var(--yellow)}@media(max-width:800px){.language-label{display:none}.nav-language summary{padding:.45rem .6rem}.language-menu{right:-46px}}

.language-current{display:flex;align-items:center}.language-current img,.language-menu button>img{display:block;width:28px;height:19px;object-fit:cover;border:1px solid #241935;border-radius:2px;box-shadow:0 1px 0 #24193533}.language-menu button>img{flex:0 0 28px}
@media(max-width:800px){.gastronomy{display:flex;flex-direction:column}.gastro-copy{order:1}.gastro-art{order:2}.gastro-art{min-height:560px}}
.google-translate-engine{position:fixed!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* One visual system for the header across home, menu and shop. */
.site-header{
  height:90px;
  min-height:90px;
  padding:0 3.5vw;
  gap:clamp(.8rem,1.45vw,1.55rem);
  align-items:center;
}
.site-header .brand{
  flex:0 0 157px;
  width:157px;
  min-width:157px;
  height:58px;
  display:flex;
  align-items:center;
}
.site-header .brand img{
  display:block;
  width:157px;
  height:auto;
  filter:brightness(0) saturate(100%)
    drop-shadow(1px 0 0 #fff9f1) drop-shadow(-1px 0 0 #fff9f1)
    drop-shadow(0 1px 0 #fff9f1) drop-shadow(0 -1px 0 #fff9f1)
    drop-shadow(1px 1px 0 #fff9f1) drop-shadow(-1px -1px 0 #fff9f1);
}
.site-header .desktop-nav{gap:clamp(.75rem,1.45vw,1.55rem);align-items:center}
.site-header .desktop-nav a,.site-header .book{font-family:Semplicita,Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.12em;line-height:1}
.site-header .book,.site-header .nav-language summary{min-height:44px}
@media(max-width:800px){
  .site-header{height:74px;min-height:74px;padding:0 5vw;gap:.7rem}
  .site-header .brand{flex-basis:120px;width:120px;min-width:120px;height:46px}
  .site-header .brand img{width:120px}
}

/* Shared Più Sud manifesto footer */
.ps-footer{position:relative;overflow:hidden;background:var(--plum,#241935);color:#fff9f1;font-family:Semplicita,Arial,sans-serif;border-top:3px solid var(--plum,#241935)}
.ps-footer a{color:inherit;text-decoration:none}.ps-footer-ticker{overflow:hidden;background:var(--yellow,#ffc833);color:var(--plum,#241935);border-bottom:3px solid var(--plum,#241935);padding:.85rem 0}
.ps-footer-ticker>div{display:flex;width:max-content;animation:footerMarquee 26s linear infinite}.ps-footer-ticker span{font:clamp(1.25rem,2.2vw,2.5rem)/1 Isola,serif;white-space:nowrap;padding-right:3rem}
@keyframes footerMarquee{to{transform:translateX(-50%)}}
.ps-footer-main{position:relative;display:grid;grid-template-columns:minmax(330px,1.55fr) repeat(3,minmax(150px,.65fr));gap:0;padding:clamp(3rem,6vw,7rem) 4vw 0;background-image:radial-gradient(circle at 1px 1px,#fff9f110 1px,transparent 0);background-size:18px 18px}
.ps-footer-main::after{content:"";position:absolute;right:-5%;top:8%;width:270px;height:270px;border:2px dashed var(--yellow,#ffc833);border-radius:50%;opacity:.18;animation:footerSpin 30s linear infinite}@keyframes footerSpin{to{transform:rotate(360deg)}}
.ps-footer-brand{position:relative;min-height:310px;padding:0 clamp(2rem,4vw,5rem) 3rem 0;border-right:1px solid #fff9f133}.ps-footer-kicker,.ps-footer-nav>span,.ps-footer-contact>span,.ps-footer-social>span{display:block;color:var(--mint,#a1c8bb);font-size:.65rem;font-weight:700;letter-spacing:.16em;margin-bottom:1.5rem}
.ps-footer-brand>a{display:inline-block;position:relative;z-index:2}.ps-footer-brand>a img{display:block;width:min(100%,310px);height:auto}.ps-footer-brand p{position:relative;z-index:2;margin:2.2rem 0 0;font:clamp(2.3rem,4vw,5.4rem)/.82 Isola,serif;letter-spacing:-.05em}.ps-footer-brand p em{font:normal .82em Regina,serif;color:var(--yellow,#ffc833);display:inline-block;transform:rotate(-5deg);letter-spacing:-.06em}
.ps-footer-crown{position:absolute;z-index:1;right:5%;top:13%;width:clamp(75px,9vw,125px);filter:brightness(0) saturate(100%) invert(86%) sepia(79%) saturate(1258%) hue-rotate(325deg) brightness(105%);opacity:.75;animation:footerCrown 7s ease-in-out infinite}@keyframes footerCrown{50%{transform:translateY(-13px) rotate(9deg)}}
.ps-footer-nav,.ps-footer-contact,.ps-footer-social{position:relative;z-index:2;padding:0 clamp(1rem,2.2vw,2.7rem) 3rem;border-right:1px solid #fff9f133;display:flex;flex-direction:column;align-items:flex-start}.ps-footer-social{border-right:0}
.ps-footer-nav a{width:100%;padding:.72rem 0;border-bottom:1px solid #fff9f129;text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.08em;display:flex;justify-content:space-between;gap:1rem;transition:color .2s,padding .2s}.ps-footer-nav a:hover{color:var(--yellow,#ffc833);padding-left:.45rem}
.ps-footer-contact a,.ps-footer-social a{font-size:.9rem;line-height:1.45;margin:0 0 1rem;transition:color .2s}.ps-footer-contact a:first-of-type{font:1.35rem/1.05 Isola,serif;color:var(--yellow,#ffc833);margin-bottom:1.8rem}.ps-footer-contact a:hover,.ps-footer-social a:hover{color:var(--pink,#fea5a5)}
.ps-footer-social a{font:1.15rem Isola,serif;color:var(--yellow,#ffc833)}.ps-footer-social small{font-size:.64rem;line-height:1.5;letter-spacing:.11em;margin-top:1rem}
.ps-footer-actions{grid-column:1/-1;display:grid;grid-template-columns:1.5fr .7fr;margin:0 -4vw}.ps-footer-actions a{position:relative;padding:clamp(1.5rem,3vw,3rem) 4vw;font:clamp(2rem,4.2vw,5rem)/.82 Isola,serif;letter-spacing:-.035em;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;border-top:3px solid var(--plum,#241935);transition:filter .2s}.ps-footer-actions a:hover{filter:brightness(1.08)}.ps-footer-actions small{position:absolute;top:1.15rem;left:4vw;font:.62rem Semplicita,Arial,sans-serif;font-weight:700;letter-spacing:.16em}.ps-footer-shop{background:var(--coral,#f25334);color:var(--plum,#241935)!important}.ps-footer-book{background:var(--mint,#a1c8bb);color:var(--plum,#241935)!important;border-left:3px solid var(--plum,#241935)}.ps-footer-actions b{font-family:Semplicita,Arial,sans-serif;font-size:.55em}
.ps-footer-bottom{display:flex;justify-content:space-between;gap:1rem;background:var(--yellow,#ffc833);color:var(--plum,#241935);padding:1rem 4vw;font-size:.62rem;font-weight:700;letter-spacing:.13em}.ps-footer-bottom a{text-decoration:underline;text-underline-offset:.25em}
@media(max-width:980px){.ps-footer-main{grid-template-columns:1.4fr repeat(2,1fr)}.ps-footer-brand{grid-row:span 2}.ps-footer-social{grid-column:2/4;border-top:1px solid #fff9f133;padding-top:2rem}.ps-footer-contact{border-right:0}.ps-footer-actions{grid-column:1/-1}}
@media(max-width:650px){.ps-footer-main{display:grid;grid-template-columns:1fr 1fr;padding:3.5rem 5vw 0}.ps-footer-main::after{width:170px;height:170px}.ps-footer-brand{grid-column:1/-1;grid-row:auto;min-height:280px;padding-right:0;border-right:0;border-bottom:1px solid #fff9f133}.ps-footer-brand>a img{width:220px}.ps-footer-brand p{font-size:12vw}.ps-footer-crown{right:3%;top:10%;width:95px}.ps-footer-nav,.ps-footer-contact,.ps-footer-social{padding:2rem 1rem 2rem 0}.ps-footer-nav{border-right:1px solid #fff9f133}.ps-footer-contact{padding-left:1rem}.ps-footer-social{grid-column:1/-1;padding-left:0;border-top:1px solid #fff9f133}.ps-footer-actions{grid-template-columns:1fr;margin:0 -5vw}.ps-footer-actions a{min-height:150px;padding:3rem 5vw 1.5rem;font-size:10.5vw}.ps-footer-actions small{left:5vw}.ps-footer-book{border-left:0}.ps-footer-bottom{display:grid;grid-template-columns:1fr auto;padding:1rem 5vw}.ps-footer-bottom span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.ps-footer-ticker>div,.ps-footer-main::after,.ps-footer-crown{animation:none}}


/* Resilient mobile navigation */
body.menu-open{overflow:hidden;touch-action:none}
.mobile-menu[hidden]{display:none!important}
.menu-toggle{position:relative;z-index:102;flex:0 0 44px;place-content:center;border-radius:50%;transition:background .2s}
.menu-toggle span{width:27px;margin:5px auto!important;transform-origin:center;transition:transform .22s ease,opacity .18s ease}
.menu-toggle[aria-expanded="true"]{background:var(--yellow,#ffc833)}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:850px){
  .desktop-nav,.header-book{display:none!important}
  .menu-toggle{display:grid!important}
  .nav-language{margin-left:auto}
  .language-label{display:none}
  .mobile-menu,.unified-mobile{position:fixed!important;inset:74px 0 0!important;z-index:79!important;max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain;padding:1rem 5vw max(2rem,env(safe-area-inset-bottom))!important;align-content:start}
  .mobile-menu a,.unified-mobile a{min-height:58px;display:flex;align-items:center}
}
@media(min-width:851px){.mobile-menu,.unified-mobile{display:none!important}}

/* Clean handwritten statements */
.manifesto h2 em,.final-cta h2 em{color:var(--plum);text-shadow:none;background:transparent;padding:0;line-height:.88;transform:rotate(-3deg)}
.final-cta h2 em{word-spacing:.18em}
.menu-gate h2 em{text-shadow:none}
.ps-footer-actions small{font-size:.72rem;background:var(--yellow);color:var(--plum);padding:.35rem .55rem;border:1.5px solid var(--plum);letter-spacing:.13em}
@media(max-width:850px){.site-header{height:74px;min-height:74px;padding:0 5vw}.site-header .brand{flex-basis:120px;width:120px;min-width:120px;height:46px}.site-header .brand img{width:120px}.manifesto h2 em,.final-cta h2 em{transform:rotate(-2deg)}}


/* The rest of Italy has its own playful detour. */
.map-north{cursor:pointer}
.map-other{transition:fill .25s,filter .25s}
.map-north:hover .map-other,.map-north:focus-visible .map-other{fill:var(--mint);filter:drop-shadow(5px 6px 0 #24193555)}
.map-north:focus-visible{outline:none}
.manifesto-story{max-width:520px;display:grid;gap:1.25rem}.manifesto-story p{max-width:none;margin:0}.manifesto-award{padding:1rem 1.15rem;background:var(--yellow);border:2px solid var(--plum);box-shadow:7px 7px 0 var(--coral);transform:rotate(-1deg);font-size:1rem!important}.manifesto-award strong{display:block;font:1.45rem/1 Isola;letter-spacing:.02em;margin-bottom:.35rem}.manifesto-award span{font-weight:700}
