/* Quiet controls: keep the useful symbols, remove decorative arrows. */
body .button::after{content:'';grid-column:3;display:block;width:100%;pointer-events:none}
.contact-title{justify-content:center;text-align:center}
.card-link{justify-content:flex-start}
.explore-copy{padding-right:25px}
.social-section a{gap:11px}
.journey-scroll,.scroll-prompt{padding:10px 0;min-height:44px;border-bottom:1px solid currentColor}
.section-menu a{min-width:180px;justify-content:flex-start}
.professional-links a{padding-right:12px}
.location-link{width:fit-content;border-bottom:1px solid #7e99603b;padding-bottom:8px}
/* One consistent, unidirectional gallery with comfortable spacing. */
.image-gallery.image-carousel{display:block;position:relative;overflow:visible;width:100%;padding:20px 0 65px;margin:0;background:var(--bg);gap:0}



.carousel-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:auto;direction:ltr;padding:0;outline-offset:-3px;-webkit-overflow-scrolling:touch}
.carousel-viewport::-webkit-scrollbar{display:none}
.carousel-track{display:flex;width:max-content;align-items:stretch;gap:0}
.carousel-set{display:flex;gap:28px;padding:0 28px 0 0;flex:0 0 auto;align-items:stretch}
.image-gallery.image-carousel figure{width:clamp(240px,23vw,370px);height:clamp(260px,23vw,370px);aspect-ratio:1;flex:0 0 auto;margin:0;overflow:hidden;border-radius:28px;background:#dae6ce;border:1px solid #7192572e;opacity:1;transform:none}
.image-gallery.image-carousel figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.image-gallery.image-carousel figure:hover img{transform:scale(1.035)}
.carousel-viewport:focus-visible{outline:3px solid #698d43;outline-offset:4px}
/* New food photography, arranged once beside its corresponding diet. */
.page-diete #contenuto{padding-bottom:55px}
.page-diete #contenuto .section-intro{max-width:920px}
.page-diete .diet-grid{display:grid;grid-template-columns:1fr;gap:28px}
.page-diete .diet-card{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);align-items:stretch;border:1px solid #76925238;border-radius:24px;overflow:hidden;background:#f8fbf2;box-shadow:0 18px 35px #163d2008}
.page-diete .diet-card>.diet-photo{position:relative;min-height:420px;overflow:hidden;background:#dbe7d0}
.page-diete .diet-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.page-diete .diet-card:hover .diet-photo img{transform:scale(1.045)}
.page-diete .diet-photo figcaption{position:absolute;left:22px;bottom:22px;border:1px solid #edfade6b;background:#183d2d9e;backdrop-filter:blur(12px);color:#eaf6d5;border-radius:10px;padding:9px 14px;font-size:.75rem;letter-spacing:.1em;line-height:1.5}
.page-diete .diet-photo{margin:0}
.page-diete .diet-body{padding:34px 36px}
.page-diete .diet-body h3{font-size:1.7rem;line-height:1.25;letter-spacing:-.035em}
.page-diete .diet-body p{font-size:1rem;line-height:1.8}
.page-diete .diet-body li{font-size:.9375rem;line-height:1.75;margin-bottom:7px}
/* The reference's Diet + original AN monogram + Mediterranea lockup. */
.page-diete .mediterranean-section{padding-top:65px;background:linear-gradient(130deg,#f8fbf3,#edf4e4)}
.page-diete .mediterranean-section .section-heading{margin-bottom:42px;text-align:center}
.page-diete h2.mediterranean-title{display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:12px 0 22px;font:400 clamp(2.4rem,6.4vw,6.2rem)/1 Georgia,'Times New Roman',serif;letter-spacing:-.04em;color:#668b73;white-space:nowrap}
.med-start{display:inline-flex;align-items:center;flex:0 0 auto}
.med-word{display:inline-flex;position:relative;white-space:nowrap}
.med-start>.med-word{margin-right:-.05em;z-index:1}
.med-monogram{display:inline-flex;align-items:center;justify-content:center;width:2.4em;height:2.2em;flex:0 0 auto;margin-left:-.12em;margin-right:-.13em;position:relative}
.med-monogram img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.med-letter{display:inline-block;white-space:pre}
.mediterranean-title.title-animate:not(.title-created) .med-letter{opacity:0;transform:translateY(.32em);filter:blur(3px)}
.mediterranean-title.title-animate:not(.title-created) .med-monogram{clip-path:inset(100% 0 0 0);opacity:0}
.mediterranean-title.title-animate.title-created .med-letter{animation:med-letter-appear .75s cubic-bezier(.2,.75,.25,1) calc(var(--letter-index)*.07s + var(--word-delay,0s)) both}
.mediterranean-title.title-animate.title-created .med-monogram{animation:med-logo-draw 1.65s .25s cubic-bezier(.18,.75,.24,1) both}
.med-word-last{--word-delay:1.05s}
@keyframes med-letter-appear{from{opacity:0;transform:translateY(.32em);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes med-logo-draw{0%{clip-path:inset(100% 0 0 0);opacity:0;filter:brightness(1.2)}15%{opacity:1}100%{clip-path:inset(0 0 0 0);opacity:1;filter:brightness(1)}}
.mediterranean-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;max-width:1280px;margin:auto}
.mediterranean-photo{position:relative;margin:0;border-radius:26px;overflow:hidden;border:1px solid #72905735;box-shadow:0 22px 45px #233e1510;background:#d4e3c2}
.mediterranean-photo img{display:block;width:100%;height:550px;object-fit:cover}
.mediterranean-copy p{font-size:1.0625rem;line-height:1.9;color:#526e46;margin:0 0 22px}
.mediterranean-copy p:last-child{margin-bottom:0}
.mediterranean-copy p:first-child{color:#365b3f}
@media(min-width:1600px){.carousel-set{gap:36px;padding-right:36px}}
@media(max-width:900px){
 .page-diete .diet-card{grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr)}
 .page-diete .diet-body{padding:27px}.page-diete .diet-card>.diet-photo{min-height:420px}
 .mediterranean-layout{grid-template-columns:1fr;gap:32px}.mediterranean-photo img{height:390px}.mediterranean-copy{max-width:70ch}
}
@media(max-width:600px){
 .section-menu a{min-width:0}
 .image-gallery.image-carousel{padding-top:12px;padding-bottom:45px}
 .carousel-set{gap:18px;padding-right:18px}.image-gallery.image-carousel figure{width:76vw;height:76vw;max-width:330px;max-height:330px;border-radius:22px}
 .page-diete .diet-card{grid-template-columns:1fr;border-radius:22px}.page-diete .diet-card>.diet-photo{min-height:0;height:290px}.page-diete .diet-body{padding:26px 24px}.page-diete .diet-body h3{font-size:1.55rem}
 .page-diete .diet-photo figcaption{left:18px;bottom:18px;font-size:.75rem}
 .page-diete .mediterranean-section{padding-top:45px}.page-diete .mediterranean-section .section-heading{margin-bottom:30px}
 .page-diete h2.mediterranean-title{flex-direction:column;align-items:center;gap:0;white-space:normal;font-size:clamp(2.55rem,10.6vw,3.75rem);padding:0}
 .med-start{font-size:1.1em}.med-monogram{width:2.3em;height:2.15em}.med-word-last{margin-top:-.15em;font-size:clamp(2rem,9.2vw,3.25rem)}
 .mediterranean-photo img{height:310px}.mediterranean-copy p{font-size:1rem;line-height:1.85}
}
@media(prefers-reduced-motion:reduce){
 .mediterranean-title .med-letter,.mediterranean-title .med-monogram{animation:none!important;opacity:1!important;clip-path:none!important;filter:none!important;transform:none!important}
 .page-diete .diet-card:hover .diet-photo img,.image-gallery.image-carousel figure:hover img{transform:none}
}
