/* 1.1.0 — focused refinements, preserving the existing palette and sections. */
.mp2-menu-photo img{object-position:50% 18%}
/* A lower, slightly leftward mobile crop keeps the theatre higher in the hero. */
@media(max-width:700px){
 .mp2-hero-media picture{transform:scale(1.29);transform-origin:65% 100%}
 .mp2-hero-media img{object-position:calc(var(--mp2-hero-mobile-x,64%) + 8%) 100%}
}
/* Short hover marks remain distinct from the full underline of the current page. */
.mp5-page-nav a{transition:color .2s ease}
.mp5-page-nav a:not([aria-current=page])::before{content:'';position:absolute;bottom:10px;left:50%;width:24px;height:1px;background:currentColor;transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .22s ease;pointer-events:none}
.mp5-page-nav a:not([aria-current=page]):focus-visible{color:var(--mp2-wine)}
.mp5-page-nav a:not([aria-current=page]):focus-visible::before{transform:translateX(-50%) scaleX(1)}
@media(hover:hover) and (pointer:fine){
 .mp5-page-nav a:not([aria-current=page]):is(:hover:where(html.mp112-hover *),.mp113-pressed){color:var(--mp2-wine)}
 .mp5-page-nav a:not([aria-current=page]):is(:hover:where(html.mp112-hover *),.mp113-pressed)::before{transform:translateX(-50%) scaleX(1)}
}
@media(max-width:700px){.mp5-page-nav a:not([aria-current=page])::before{bottom:3px}}
@media(prefers-reduced-motion:reduce){.mp5-page-nav a,.mp5-page-nav a::before{transition:none}}
/* The photograph is absolutely fitted to the same clipped box as its outline. */
.mp5-hero-image{height:auto;min-height:0;display:block}
.mp5-hero-image>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.mp5-image-line{display:block;box-sizing:border-box;inset:clamp(8px,2.5cqw,16px);height:auto;width:auto;transform:none}
.mp5-back{gap:11px}
.mp5-page-consigli .mp5-map-editorial-single{text-align:center}
.mp5-page-consigli .mp5-map-editorial-single p{margin-inline:auto}
.mp5-page-consigli .mp5-map-editorial-single .mp2-button{justify-content:center}
@media(min-width:701px){.mp5-page-consigli .mp5-map-editorial-single .mp2-button{display:flex;width:fit-content;max-width:100%;margin-inline:auto}}
/* Keep the added guest link beside the existing shortcuts without moving the logo. */
@media(min-width:701px){.mp2-header-left{min-width:0}.mp2-header-links{flex-shrink:0}.mp2-header-links a{white-space:nowrap}}
@media(min-width:701px) and (max-width:850px){.mp2-header-left{gap:8px}.mp2-header-links{gap:6px}.mp2-header-links a{font-size:12px}}
/* One continuous upper-page background behind the four principal destinations. */
.mp5-page-area-ospite{background:linear-gradient(120deg,#e9dfd3,#f4eee8 56%)}
.mp5-page-area-ospite .mp5-page-hero{background:none}
.mp5-page-area-ospite .mp5-directory{gap:24px;max-width:1050px}
.mp5-page-area-ospite .mp5-directory-card{display:grid;grid-template-columns:54px minmax(0,1fr) 28px;grid-template-rows:auto auto;align-content:center;gap:12px 25px;min-height:224px;padding:34px 38px;background:#faf6f1;border:1px solid #b49a7390;border-radius:48px 0 0;box-shadow:0 14px 24px -22px #38101277;transition:background .25s,box-shadow .3s,border-color .25s}
.mp5-page-area-ospite .mp5-directory-card::before{inset:12px;mask:none;width:auto;height:auto;border:1px solid #b49a7338;border-radius:38px 0 0;opacity:1;z-index:-1;transform:none}
.mp5-page-area-ospite .mp5-directory-card .mp109-directory-icon{width:35px;height:35px;margin:0;align-self:start;grid-row:1/3;color:var(--mp2-wine);stroke-width:1.1}
.mp5-page-area-ospite .mp5-directory-card h2{font-size:clamp(32px,3vw,42px);grid-column:2;align-self:end;margin:0}
.mp5-page-area-ospite .mp5-directory-card p{grid-column:2;max-width:27ch;font-size:12px;line-height:1.8}
.mp5-page-area-ospite .mp5-directory-card>.mp6-symbol{grid-column:3;grid-row:1/3;align-self:center;margin:0;transition:transform .25s}
.mp5-page-area-ospite .mp5-directory-card:is(:hover:where(html.mp112-hover *),.mp113-pressed){border-color:var(--mp2-wine);background:#fffbf6;box-shadow:0 20px 35px -26px #38101288}
.mp5-page-area-ospite .mp5-directory-card:is(:hover:where(html.mp112-hover *),.mp113-pressed)>.mp6-symbol{transform:translate(3px,-3px)}
.mp5-page-area-ospite .mp5-directory-card:is(:hover:where(html.mp112-hover *),.mp113-pressed)::before{transform:none}
/* Smaller geographic map, with evenly centred, legible destination labels. */
.mp109-map{max-width:550px}
.mp5-page-dove-ci-troviamo .mp5-hero-grid{grid-template-columns:1fr 1fr;gap:8%}
.mp109-map-label{align-items:center;text-align:center;padding:7px 10px;border:1px solid #b49a7390;background:#faf6f1;box-shadow:0 4px 15px #38101219}
.mp109-map-label strong{color:var(--mp2-wine);font-weight:650}
.mp109-map-label small{opacity:1;color:var(--mp2-muted)}
.mp109-map-home .mp109-map-label strong,.mp109-map-home .mp109-map-label small{color:#fff}
.mp110-arrivals{max-width:1080px;margin-inline:auto}
.mp110-arrivals>h2{margin:0 0 40px}
.mp110-arrival-mode{background:#faf6f1;border:1px solid #b49a7350;padding:34px 36px;margin:0 0 26px;border-radius:32px 0 0;box-shadow:0 17px 35px -32px #38101277}
.mp110-arrival-mode>header{display:flex;align-items:center;gap:22px;margin-bottom:26px}
.mp110-arrival-icon{width:40px;flex:0 0 40px;color:var(--mp2-wine)}
.mp110-arrival-icon svg{display:block;width:36px;height:36px}
.mp110-arrival-mode h3{font:400 clamp(28px,3vw,38px)/1.12 var(--mp2-serif);color:var(--mp2-wine);letter-spacing:-.035em;margin:0 0 7px}
.mp110-arrival-mode>header p{font-size:11px;line-height:1.6;margin:0;color:var(--mp2-muted)}
.mp110-arrival-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px}
.mp110-arrival-option{min-width:0}
.mp110-arrival-option h4{font:600 13px/1.5 var(--mp2-sans);margin:0 0 10px;color:var(--mp2-wine)}
.mp110-arrival-option p{font-size:12px;line-height:1.85;margin:0 0 13px}
.mp110-arrival-option .mp2-text-link{font-size:11px;min-height:36px}
.mp110-arrival-mode:nth-of-type(2) .mp110-arrival-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.mp110-room-contour{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.mp110-room-contour path{fill:none;stroke:var(--mp109-photo-line);stroke-width:1;vector-effect:non-scaling-stroke}
.mp2-room-stage.mp110-contour-ready::after{content:none}
.mp2-room-book button.mp2-button{width:100%;font-family:var(--mp2-sans);cursor:pointer}
@media(max-width:900px){.mp110-arrival-mode:nth-of-type(2) .mp110-arrival-options{grid-template-columns:1fr}.mp110-arrival-mode:nth-of-type(2) .mp110-arrival-option+.mp110-arrival-option{border-top:1px solid #b49a7338;padding-top:22px}}
@media(max-width:700px){
 .mp5-page-area-ospite .mp5-directory{gap:17px}
 .mp5-page-area-ospite .mp5-directory-card{grid-template-columns:38px minmax(0,1fr) 20px;gap:10px 16px;min-height:188px;padding:30px 26px;border-top-left-radius:38px}
 .mp5-page-area-ospite .mp5-directory-card::before{inset:10px;border-top-left-radius:28px}
 .mp5-page-area-ospite .mp5-directory-card .mp109-directory-icon{width:29px;height:29px}
 .mp5-page-area-ospite .mp5-directory-card h2{font-size:33px}
 .mp5-page-area-ospite .mp5-directory-card p{font-size:12px}
 .mp5-page-dove-ci-troviamo .mp5-hero-grid{grid-template-columns:1fr}
 .mp109-map{justify-self:center;max-width:450px}
 .mp109-map-label{padding:6px;border-color:#b49a7370}
 .mp109-map-label strong{font-size:10px}
 .mp109-map-home .mp109-map-label{transform:translate(calc(-100% - 8px),7px)}
 .mp109-map-theatre .mp109-map-label{transform:translate(4px,calc(-100% - 4px))}
 .mp110-arrivals>h2{margin-bottom:28px}
 .mp110-arrival-mode{padding:26px 23px;margin-bottom:20px;border-top-left-radius:25px}
 .mp110-arrival-mode>header{gap:16px;margin-bottom:23px}
 .mp110-arrival-icon{width:30px;flex-basis:30px}.mp110-arrival-icon svg{width:29px;height:29px}
 .mp110-arrival-mode h3{font-size:30px}
 .mp110-arrival-options{grid-template-columns:1fr;gap:24px}
}
@media(prefers-reduced-motion:reduce){.mp5-page-area-ospite .mp5-directory-card,.mp5-page-area-ospite .mp5-directory-card>.mp6-symbol{transition:none}}
/* Titles keep their words intact when the destination cards become narrow. */
@media(max-width:1000px){
 .mp5-page-area-ospite .mp5-directory-card{display:block;min-height:214px;padding:28px 27px}
 .mp5-page-area-ospite .mp5-directory-card .mp109-directory-icon{display:block;width:27px;height:27px;margin:0 0 17px}
 .mp5-page-area-ospite .mp5-directory-card h2{font-size:clamp(27px,7.1vw,32px);hyphens:none;overflow-wrap:normal;word-break:normal;margin:0 0 11px;max-width:none}
 .mp5-page-area-ospite .mp5-directory-card p{max-width:calc(100% - 27px);margin:0}
 .mp5-page-area-ospite .mp5-directory-card>.mp6-symbol{position:absolute;right:25px;bottom:26px}
}
.mp110-arrivals>h2{border:0;padding-bottom:0}
.mp110-arrivals>h2::after{content:none}

/* Service cards: equal-height rows, with half-width tracks to centre incomplete rows. */
.mp5-page-servizi .mp5-feature-list{--mp118-columns:2;--mp118-gap:24px;display:grid;grid-template-columns:repeat(calc(var(--mp118-columns)*2),minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:var(--mp118-gap)}
.mp5-page-servizi .mp5-feature-list:where(:has(>.mp5-feature:last-child:nth-child(odd))){--mp118-columns:3}
.mp5-page-servizi .mp5-feature-list>.mp5-feature{grid-column:span 2}
.mp5-page-servizi .mp118-driver-icon .mp2-icon{width:27px;height:27px}
@media(min-width:701px){.mp5-page-servizi .mp5-feature-list>.mp5-feature{display:flex;flex-direction:column}}
@media(min-width:1001px){
 .mp5-page-servizi .mp5-feature-list:has(>.mp5-feature:last-child:nth-child(odd))>.mp5-feature:last-child:nth-child(3n+1){grid-column:3/span 2}
 .mp5-page-servizi .mp5-feature-list:has(>.mp5-feature:last-child:nth-child(odd))>.mp5-feature:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}
}
@media(max-width:1000px){.mp5-page-servizi .mp5-feature-list{--mp118-columns:2}}
@media(min-width:701px) and (max-width:1000px){.mp5-page-servizi .mp5-feature-list>.mp5-feature:last-child:nth-child(odd){grid-column:2/span 2}}
@media(max-width:700px){.mp5-page-servizi .mp5-feature-list{--mp118-columns:1;--mp118-gap:16px}.mp5-page-servizi .mp118-driver-icon .mp2-icon{width:23px;height:23px}}
