@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}

:root{--cream:#f4eddf;--ink:#33291f;--rust:#813f2c;--line:#d7cbb8;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}header{height:98px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:block;width:182px}.brand img{height:auto}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{padding:12px 0}nav a:hover,.text-link:hover{color:var(--rust)}.nav-contact{border-bottom:1px solid var(--ink)}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;height:calc(100svh - 98px);max-height:880px}.hero-copy{padding:70px 9% 30px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;line-height:1.6}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:clamp(70px,7.7vw,122px);font-weight:400;letter-spacing:-1.8px;line-height:.98;margin:48px 0 32px}em{font-weight:400;color:var(--rust)}p{font-size:16px;line-height:1.8}.hero-copy>p{color:#655c50;font-size:17px;max-width:450px}.button{display:inline-flex;justify-content:center;align-items:center;padding:18px 27px;font-size:14px;line-height:1.3;border-radius:2px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:var(--cream)}.dark:hover{background:var(--rust)}.light{background:var(--cream);color:var(--ink)}.hero .button{margin-top:30px}.hero-bottom{display:flex;justify-content:space-between;gap:20px;width:100%;margin-top:auto;padding-top:35px;font-size:10px;letter-spacing:1.5px}.scroll{color:#766856}.hero-image{position:relative;overflow:hidden}.hero-image>img{height:100%;object-position:57% center;filter:brightness(1.035) saturate(.83)}.photo-note{position:absolute;bottom:25px;left:30px;right:30px;color:white;display:flex;justify-content:space-between;align-items:end;text-shadow:0 1px 10px #000}.photo-note>span:first-child{font-family:var(--serif);font-style:italic;font-size:24px}.photo-note>span:last-child{font-size:10px;letter-spacing:1.5px}.ribbon{display:flex;gap:50px;white-space:nowrap;overflow:hidden;align-items:center;background:var(--rust);color:var(--cream);padding:23px 0;font-family:var(--serif);font-size:30px}.ribbon i{font-style:normal;font-size:25px}.section{padding:110px 7%}h2{font-family:var(--serif);font-size:clamp(42px,4.3vw,68px);font-weight:400;letter-spacing:-2px;line-height:1.08}h3{font-family:var(--serif);font-size:28px;font-weight:400}.intro{display:grid;grid-template-columns:1fr 2.4fr;gap:55px}.intro>.eyebrow{padding-top:12px}.intro h2{font-size:clamp(36px,3.6vw,56px)}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:38px;color:#6a6053}.pastry{background:#eae0cf}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-head h2{margin-top:20px}.section-head>p{max-width:360px;color:#655c50}.pastry-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:55px;align-items:start}figure{margin:0}.pastry-grid figure:nth-child(2){padding-top:90px}.zoom{display:block;width:100%;position:relative;overflow:hidden;border:0;padding:0;background:transparent}.zoom img{height:100%;transition:transform .7s;filter:saturate(.87) brightness(1.03)}.zoom:hover img{transform:scale(1.045)}.pastry-grid .zoom{aspect-ratio:1.12}.pastry-grid figure:nth-child(2) .zoom{aspect-ratio:.9}.zoom-icon{position:absolute;bottom:18px;right:18px;width:36px;height:36px;display:grid;place-items:center;background:var(--cream);border-radius:50%;font-size:22px;color:var(--ink)}figcaption{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:12px}figcaption>span{font-size:10px;letter-spacing:1.5px;max-width:120px;line-height:1.5;text-align:right}.pastry-foot{display:flex;justify-content:space-between;border-top:1px solid #cbbcaa;margin-top:60px;padding-top:25px;font-size:15px}.text-link{border-bottom:1px solid;padding-bottom:6px;font-size:14px}.food{display:grid;grid-template-columns:1fr 1fr;background:var(--rust);color:var(--cream)}.food-image{min-height:610px}.food-image img{height:100%;filter:saturate(.88)}.food-copy{padding:90px 13%;align-self:center}.food h2{margin:28px 0}.food em{color:#e3bca2}.food p{color:#ead1bd}.food-tags{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 35px}.food-tags span{border:1px solid #ac7560;padding:10px 12px;font-size:12px}.catering{display:grid;grid-template-columns:1fr 1fr;gap:13%}.catering h2{font-size:clamp(50px,5.6vw,85px);margin:35px 0}.catering-right>p{font-size:18px}.accordions{margin:28px 0 36px}details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;display:flex;justify-content:space-between;font-size:17px;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:21px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{padding-top:15px;color:#6a6053;font-size:15px}.catering-right>img{height:240px;object-position:50% 52%;filter:saturate(.85)}.gallery{background:#eae0cf}.filters{display:flex;gap:8px}.filters button{border:1px solid #b9aa95;color:var(--ink);background:transparent;padding:11px 20px;border-radius:30px;font-size:14px}.filters button.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-grid .zoom{aspect-ratio:1}.gallery-grid figure[hidden]{display:none}.gallery-grid figcaption{display:block;margin-top:13px;font-size:14px}.visit{display:grid;grid-template-columns:1fr 1fr}.visit-image img{height:100%;object-position:45% center;filter:none}.visit-copy{padding:90px 13%}.visit h2{margin:28px 0}.visit p{color:#6a6053}address{font-size:16px;line-height:1.6;font-style:normal;margin-top:30px}.phone{display:block;font-family:var(--serif);font-size:29px;margin:16px 0 30px}.visit-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:40px 5%;font-size:12px}footer .brand{width:145px}footer p{font-size:10px;letter-spacing:1.5px}dialog{padding:25px;border:0;background:var(--cream);max-width:90vw;width:1000px;max-height:94svh;color:var(--ink)}dialog::backdrop{background:#19120def;backdrop-filter:blur(7px)}dialog>img{object-fit:contain;max-height:70svh;width:100%}dialog>p{margin:16px 0 10px;font-family:var(--serif);font-size:24px}.close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:50%;background:var(--cream);font-size:30px}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;font-size:14px}.lightbox-controls button{padding:10px;border:1px solid var(--line);background:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c47b36;outline-offset:5px}@media(min-width:1700px){.hero-copy{padding-top:100px}}@media(max-width:1050px){nav{gap:18px;font-size:12px}.brand{width:150px}h1{font-size:78px;letter-spacing:-1.8px}.hero{min-height:630px;height:auto}.hero-copy{padding:55px 8% 28px}.hero-bottom .scroll{display:none}.section{padding:80px 6%}.intro{grid-template-columns:1fr;gap:25px}.food-copy,.visit-copy{padding:60px 10%}.catering{gap:8%}figcaption{display:block}figcaption>span{display:block;max-width:none;text-align:left;margin-top:8px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.section-head{gap:30px}footer p{display:none}}@media(max-width:720px){header{height:78px;padding:0 6%}.brand{width:148px}.menu{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:15px 0 15px 15px}.menu span{width:25px;height:1px;background:var(--ink)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:22px 6% 30px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:7px;font-size:17px}nav.open{display:flex}.hero{grid-template-columns:1fr;max-height:none}.hero-copy{padding:40px 6% 30px;min-height:485px}h1{font-size:76px;margin:30px 0 24px;letter-spacing:-1.8px}.hero-copy>p{font-size:16px}.hero-copy>p br{display:none}.hero-bottom{padding-top:30px}.hero-image{height:420px}.hero-image>img{object-position:50% 52%}.photo-note{left:20px;right:20px}.photo-note>span:first-child{font-size:22px}.ribbon{font-size:25px;gap:25px;padding:18px 0}.section{padding:65px 6%}.intro h2 br{display:none}.intro-bottom{grid-template-columns:1fr;gap:20px;margin-top:25px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:25px}.section-head h2{margin-top:16px}h2{font-size:46px;letter-spacing:-1.5px}.pastry-grid{gap:30px;grid-template-columns:1fr}.pastry-grid figure:nth-child(2){padding-top:0}.pastry-grid figure:nth-child(2) .zoom{aspect-ratio:1.1}.pastry-grid figure:nth-child(2) img{object-position:center 60%}figcaption{display:flex}figcaption>span{text-align:right;max-width:100px;font-size:9px}.pastry-foot{gap:25px;align-items:center;margin-top:35px;font-size:14px}.pastry-foot span{max-width:190px}.food{grid-template-columns:1fr}.food-image{min-height:0;height:350px}.food-copy{padding:55px 6%}.catering{grid-template-columns:1fr;gap:40px}.catering h2{font-size:59px;margin:25px 0}.catering-right>p{font-size:17px}.filters{margin-top:25px}.gallery-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.gallery-grid figcaption{font-size:13px}.gallery-grid .zoom-icon{height:28px;width:28px;bottom:10px;right:10px}.visit{grid-template-columns:1fr}.visit-image{height:320px}.visit-copy{padding:60px 6%}footer{flex-wrap:wrap;padding:30px 6%;gap:30px}footer>.brand{width:135px}footer>span{margin-left:auto}footer>a:last-child{width:100%;text-align:center}dialog{padding:15px;width:94vw;max-width:94vw}dialog>img{max-height:65svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.daily{background:#362b23;color:var(--cream)}.daily em{color:#dbaa87}.daily-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.daily-grid article{border-top:1px solid #786456;padding-top:25px}.daily-grid h3{margin:25px 0 15px;font-size:33px}.daily-grid p,.daily details p{color:#d7c8b6}.hours-badge{font-family:var(--serif);font-size:75px;color:#dbaa87}.hours-badge>span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:2px;margin-top:5px}.daily .other-services{margin-top:50px;border-color:#786456}.other-services summary{font-size:14px}.contact-emails{display:flex;flex-direction:column;gap:12px;margin-bottom:25px;font-size:15px;overflow-wrap:anywhere}.contact-emails a:hover{text-decoration:underline}.open-hours{font-size:14px;margin-bottom:24px}.vat{display:inline-block;margin-top:7px;font-size:11px}@media(max-width:720px){.daily-grid{grid-template-columns:1fr;gap:30px}.hours-badge{display:block;margin-top:28px;font-size:58px}.daily-grid h3{margin-top:18px}.catering h2{font-size:57px}}

h1,h2,h3{font-weight:400}h1{line-height:1.02}h2{line-height:1.12;letter-spacing:-1.3px}h3{line-height:1.2}nav{gap:25px}.visit-image img{object-position:50% center}.eyebrow{font-weight:500;letter-spacing:2.2px}@media(min-width:721px){h1{font-size:clamp(70px,8.4vw,128px)}}@media(max-width:1050px) and (min-width:721px){h1{font-size:80px}nav{gap:16px}}@media(max-width:720px){h1{font-size:78px;letter-spacing:-1.8px}h2{letter-spacing:-.8px}}

/* Fascia leggibile anche su schermi stretti e con testo ingrandito. */
.ribbon{justify-content:center;gap:clamp(20px,3vw,50px);padding:23px 5%;white-space:normal;flex-wrap:wrap;overflow:visible;text-align:center}
.ribbon>span{min-width:0;overflow-wrap:anywhere}
footer{flex-wrap:wrap}
.footer-credit{flex-basis:100%;text-align:center;border-top:1px solid var(--line);padding-top:22px;font-size:12px;line-height:1.6;color:#6a6053}
.footer-credit a{font-weight:600;letter-spacing:.8px;color:var(--ink)}
.footer-credit a:hover{text-decoration:underline;color:var(--rust)}
@media(max-width:1050px){.ribbon-repeat{display:none}}
@media(max-width:720px){.ribbon{flex-direction:column;gap:9px;padding:23px 6%;font-size:clamp(24px,7vw,30px);line-height:1.2}.ribbon>i{font-size:17px}.ribbon>span{max-width:100%}.footer-credit{padding-top:20px}}

/* Fotografie dei prodotti ambientate su crema, sempre intere. */
.hero-image,.pastry-grid .zoom,.food-image,.gallery-grid .zoom{background:#eee2ce}
.hero-image>img,.pastry-grid .zoom img,.food-image img,.gallery-grid .zoom img{object-fit:contain;filter:none}
.hero-image{display:flex;align-items:center}
.hero-image>img{height:auto;max-height:100%;width:100%}
.photo-note{color:var(--ink);text-shadow:none}
.photo-note>span:first-child{font-size:22px}
.catering-right>img{object-fit:contain;background:#eee2ce;filter:none;height:auto;max-height:330px}
.semifreddi{background:#f6efe3;border-bottom:1px solid var(--line)}
.semifreddi-lead{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:center}
.semifreddi h2{margin:22px 0 28px}
.semifreddi-copy p{color:#655c50;max-width:430px;margin-bottom:28px}
.semifreddi .dessert-image{background:#eee2ce}
.semifreddi .dessert-image img{height:auto;object-fit:contain;filter:none}
.dessert-collection{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:55px}
.dessert-collection figcaption{justify-content:center;text-align:center;margin-top:18px}
.dessert-collection h3{font-size:29px}
.pizzeria{background:#eee2ce;border-bottom:1px solid #d5c5b1}
.pizza-heading{text-align:center;margin-bottom:45px}
.pizza-heading h2{margin-top:20px}
.pizza-layout{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:6%}
.pizza-visual{border-radius:2px}
.pizza-visual img{height:auto;object-fit:contain;filter:none}
.pizza-lunch{display:inline-block;padding:9px 13px;border:1px solid #b19075;color:var(--rust);font-size:11px;letter-spacing:1.2px}
.pizza-copy h3{font-size:40px;line-height:1.08;margin:24px 0}
.pizza-copy p{color:#655c50}
.pizza-notes{display:grid;gap:12px;margin:26px 0 30px;font-size:14px}
.pizza-notes span{border-bottom:1px solid #d3c2ae;padding-bottom:12px}
@media(max-width:1100px){header{height:78px;padding:0 6%}.menu{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:15px 0 15px 15px}.menu span{width:25px;height:1px;background:var(--ink)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:22px 6% 30px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:7px;font-size:17px}nav.open{display:flex}.pizza-layout{grid-template-columns:1.2fr 1fr;gap:5%}}
@media(max-width:720px){.hero-image{height:auto;min-height:310px;padding:12px 0 62px}.photo-note{gap:15px}.photo-note>span:first-child{font-size:20px}.pastry-grid .zoom,.pastry-grid figure:nth-child(2) .zoom{aspect-ratio:1.2}.food-image{height:auto}.food-image img{height:auto}.semifreddi-lead{grid-template-columns:1fr;gap:30px}.semifreddi h2{font-size:44px}.dessert-collection{grid-template-columns:1fr;gap:32px;margin-top:35px}.dessert-collection h3{font-size:28px}.pizza-heading{text-align:left;margin-bottom:28px}.pizza-heading h2{font-size:44px}.pizza-layout{grid-template-columns:1fr;gap:30px}.pizza-copy h3{font-size:36px}.pizza-visual{margin-inline:-6.8%;width:113.6%}.pizzeria{overflow:hidden}}

/* Foto scontornate: il colore visibile è quello della sezione del sito. */
.hero-image,.pastry-grid .zoom,.food-image,.gallery-grid .zoom,.semifreddi .dessert-image,.pizza-visual{background:transparent}
.catering-right>img{background:transparent}
.hero-image>img,.pastry-grid .zoom img,.food-image img,.gallery-grid .zoom img,.semifreddi .dessert-image img,.pizza-visual img,.catering-right>img{filter:none;object-fit:contain}

/* Lo scontorno resta interamente visibile anche al passaggio del mouse. */
.zoom:hover img{transform:none}

/* Colori condivisi da tutte le varianti del tema. */
:root{--surface:#eae0cf;--muted:#655c50;--food:#3f2504;--food-text:#fff3e6;--daily:#3f2504;--daily-text:#f4eddf}
.hero-copy>p,.intro-bottom,.section-head>p,details p,.visit p,.footer-credit,.semifreddi-copy p,.pizza-copy p,.scroll{color:var(--muted)}
.pastry,.gallery,.pizzeria{background:var(--surface)}.semifreddi{background:var(--cream)}
.food{background:var(--food);color:var(--food-text)}.food p,.food em{color:var(--food-text)}.food-tags span{border-color:currentColor}
.daily{background:var(--daily);color:var(--daily-text)}.daily em,.daily-grid p,.daily details p,.hours-badge{color:var(--daily-text)}
.pastry-foot,.pizzeria,.pizza-notes span,.pizza-lunch,.filters button{border-color:var(--line)}
.pizza-lunch{color:var(--rust)}[data-dark=true] .brand img{filter:brightness(0) invert(1)}
.reviews{border-top:1px solid var(--line)}.reviews .section-head h2{margin-top:20px}.reviews-note{color:var(--muted)}
#reviews-summary{color:var(--muted);margin-bottom:28px;font-size:15px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.reviews-grid article{border-top:1px solid var(--line);padding-top:28px;min-width:0}.review-stars{color:var(--rust);letter-spacing:4px;font-size:17px;margin-bottom:20px}.reviews-grid p{font-family:var(--serif);font-size:25px;line-height:1.4;margin-bottom:25px;overflow-wrap:anywhere}.reviews-grid a{display:block;font-size:14px;font-weight:600}.reviews-grid small{display:block;color:var(--muted);font-size:13px;margin-top:8px}.google-attribution{font-size:14px;color:var(--muted);margin-top:30px}.filters{flex-wrap:wrap}.section[hidden],section[hidden],nav a[hidden]{display:none!important}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}.reviews-grid p{font-size:24px}}

.google-attribution{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.google-attribution img{width:auto;height:18px;object-fit:contain;margin:10px 5px 5px 10px}.google-logo-dark{display:none}[data-dark=true] .google-logo-dark{display:block}[data-dark=true] .google-logo-light{display:none}


/* Layout dei prodotti: colonne elastiche, riquadri uniformi e testi nel flusso. */
.hero,.intro,.pastry-grid,.semifreddi-lead,.food,.pizza-layout,.catering,.visit,.section-head,.dessert-collection{min-width:0}
.hero>*,.intro>*,.pastry-grid>*,.semifreddi-lead>*,.food>*,.pizza-layout>*,.catering>*,.visit>*,.section-head>*{min-width:0}
h1,h2,h3,p{overflow-wrap:break-word}
.hero{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:650px;max-height:none;align-items:stretch}
.hero-copy{padding:clamp(45px,5vw,80px) clamp(28px,4.5vw,80px);justify-content:center;align-self:center}
h1{font-size:clamp(64px,6.7vw,106px);line-height:1.04;margin:28px 0;letter-spacing:-1.4px}
.hero-copy>p{max-width:36ch}.hero-bottom{margin-top:36px;padding-top:0;flex-wrap:wrap;line-height:1.6}
.hero-image{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:40px clamp(20px,3vw,55px)}
.hero-image>img{width:100%;height:auto;max-height:470px;object-fit:contain}
.photo-note{position:static;width:100%;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.photo-note>span:last-child{line-height:1.6}
.section-head{align-items:flex-end;flex-wrap:wrap;gap:30px 45px}.section-head>div{flex:1 1 350px}.section-head>p{flex:0 1 390px;max-width:390px}
h2{font-size:clamp(40px,4.1vw,64px);line-height:1.14;letter-spacing:-1px}
.intro{grid-template-columns:minmax(0,1fr) minmax(0,2.4fr)}.intro-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}
.pastry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,45px);align-items:start}
.pastry-grid figure:nth-child(2){padding-top:0}.pastry-grid .product-card{padding-top:0;display:flex;flex-direction:column;min-width:0}
.pastry-grid .zoom,.pastry-grid figure:nth-child(2) .zoom,.semifreddi .dessert-image{height:clamp(250px,25vw,360px);aspect-ratio:auto;min-height:0;position:relative}
.pastry-grid .zoom img,.semifreddi .dessert-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.pastry-grid figcaption{margin-top:20px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.pastry-grid figcaption h3{font-size:clamp(25px,2.3vw,33px);line-height:1.15}
.pastry-grid figcaption>span{max-width:none;text-align:left;margin:0;font-size:11px;line-height:1.6}
.semifreddi-lead{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:6%;align-items:center}
.dessert-collection{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dessert-collection figcaption{min-height:36px}
.food{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.food-image{min-height:0;padding:clamp(28px,5vw,75px);display:flex;align-items:center;justify-content:center}
.food-image img{height:auto;max-height:460px;object-fit:contain}.food-copy{padding:clamp(45px,5vw,80px) clamp(28px,5vw,80px)}
.pizza-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:6%}.pizza-visual img{max-height:440px;object-fit:contain}
.catering{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,7vw,110px);align-items:start}
.catering h2{font-size:clamp(44px,4.6vw,72px);line-height:1.12;margin:28px 0}.catering-right>img{max-height:300px;width:100%;object-fit:contain}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-grid .zoom{position:relative;aspect-ratio:1;min-height:0}.gallery-grid .zoom img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.visit{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.visit-image{position:relative;min-height:540px}.visit-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visit-copy{padding:clamp(45px,5vw,80px) clamp(28px,5vw,80px)}
@media(min-width:1700px){.hero-copy{padding-top:80px}}
@media(max-width:1100px) and (min-width:721px){
 .hero{min-height:580px}.hero-copy{padding:45px 30px}h1{font-size:clamp(58px,7vw,76px)}.hero-image{padding:30px 20px}.hero-bottom{font-size:10px}
 .intro{grid-template-columns:1fr}.pastry-grid{gap:22px}.pastry-grid figcaption h3{font-size:27px}.semifreddi-lead{gap:35px}
 .food-copy,.visit-copy{padding:45px 30px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
 .hero,.intro,.pastry-grid,.semifreddi-lead,.food,.pizza-layout,.catering,.visit{grid-template-columns:minmax(0,1fr)}
 .hero{min-height:0}.hero-copy{padding:40px 6% 20px;min-height:0;align-self:stretch}h1{font-size:clamp(60px,14vw,78px);margin:26px 0}.hero-bottom{margin-top:30px}
 .hero-image{height:auto;min-height:0;padding:20px 6% 32px;gap:20px}.hero-image>img{max-height:330px}.photo-note>span:first-child{font-size:21px}
 .section-head{display:block}.section-head>p{max-width:none;margin-top:24px}h2{font-size:clamp(38px,10vw,46px)}
 .intro-bottom,.dessert-collection{grid-template-columns:minmax(0,1fr)}
 .pastry-grid{gap:36px}.pastry-grid .zoom,.pastry-grid figure:nth-child(2) .zoom,.semifreddi .dessert-image{height:clamp(245px,65vw,330px)}
 .pastry-grid figcaption{margin-top:14px;gap:7px}.pastry-grid figcaption h3{font-size:29px}
 .semifreddi-lead{gap:30px}.semifreddi h2{font-size:clamp(38px,10vw,46px)}.dessert-collection{gap:32px}
 .food-image{height:auto;padding:30px 6% 0}.food-copy,.visit-copy{padding:45px 6%}.food-image img{max-height:330px}
 .pizza-visual{margin-inline:0;width:100%}.pizza-copy h3{font-size:36px}.catering h2{font-size:clamp(42px,11vw,57px)}
 .visit-image{min-height:320px;height:320px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Fascia continua: due sequenze uguali, riempite in base allo schermo. */
.ribbon{display:block;overflow:hidden;white-space:nowrap;padding:22px 0;background:#3f2504;color:#fff3e6;line-height:1.25;text-align:left;font-size:clamp(25px,2.1vw,32px)}
.ribbon-track{display:flex;width:max-content;gap:0;flex-wrap:nowrap;animation:annaro-ribbon 75s linear infinite;will-change:transform}
.ribbon-run{display:flex;flex:0 0 auto;min-width:100vw;width:max-content;justify-content:space-around}
.ribbon-cycle{display:flex;align-items:center;flex:0 0 auto;gap:clamp(24px,3vw,52px);padding-right:clamp(24px,3vw,52px);white-space:nowrap}
.ribbon-cycle span{flex:0 0 auto;white-space:nowrap}.ribbon-cycle i{font-style:normal;font-size:.8em;line-height:1}
.catering-right>img{height:auto;max-height:430px;width:100%;object-fit:contain;object-position:center;margin-top:20px}
@keyframes annaro-ribbon{to{transform:translateX(-50%)}}
@media(max-width:720px){.ribbon{display:block;padding:18px 0;line-height:1.25;font-size:25px}.catering-right>img{max-height:360px}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;will-change:auto}}
