/* 1.0.9 — one proportional, even outline shared by all photographs. */
:root{--mp109-photo-line:#ffffff50;--mp109-photo-stroke:1px}
.mp2-room-stage,.mp5-hero-image,.mp2-location-photo,.mp2-guest-photo,.mp5-guest-detail,.mp2-menu-photo{container-type:inline-size}
.mp2-room-stage::after,.mp5-image-line,.mp2-location-photo::after,.mp5-guest-composition .mp2-guest-photo::after,.mp5-guest-detail::after,.mp2-menu-photo::after{inset:clamp(8px,2.5cqw,16px);border:var(--mp109-photo-stroke) solid var(--mp109-photo-line)}
.mp5-image-line::after{content:none}
.mp5-hero-image{--mp109-radius:170px;border-top-left-radius:var(--mp109-radius)}
.mp5-image-line{border-radius:calc(var(--mp109-radius) - clamp(8px,2.5cqw,16px)) 0 0}
.mp2-location-photo{--mp109-radius:210px;border-top-left-radius:var(--mp109-radius)}
.mp2-location-photo::after{border-radius:calc(var(--mp109-radius) - clamp(8px,2.5cqw,16px)) 0 0}
.mp2-menu-photo::after{border-radius:calc(140px - clamp(8px,2.5cqw,16px)) calc(140px - clamp(8px,2.5cqw,16px)) 0 0}
.mp2-menu-photo img{object-position:50% 40%}
.mp2-room-stage{--mp106-frame-left:clamp(8px,2.5cqw,16px);--mp106-frame-right:var(--mp106-frame-left);--mp107-frame-top:var(--mp106-frame-left)}
.mp2-ready .mp2-photo-nav{left:50%}
.mp5-guest-composition .mp2-guest-photo::after{border-top-right-radius:calc(var(--mp108-guest-arch) - clamp(8px,2.5cqw,16px))}
.mp5-guest-composition .mp109-contour-ready::after{content:none}
.mp109-guest-outline{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.mp109-guest-outline path{fill:none;stroke:var(--mp109-photo-line);stroke-width:1;vector-effect:non-scaling-stroke}
.mp108-location-figure figcaption{margin-top:10px}
.mp108-walks-heading h3{font:500 clamp(28px,3.1vw,42px)/1.15 var(--mp2-sans);letter-spacing:-.04em}

/* The four destinations are the centre of the guest hub. */
.mp5-page-area-ospite .mp5-page-body{padding-top:56px}
.mp5-page-area-ospite .mp5-directory{max-width:1040px;margin-inline:auto;gap:28px}
.mp5-page-area-ospite .mp5-directory-card{min-height:290px;padding:36px 40px;border-color:#b49a7370;border-radius:48px 0 0;box-shadow:0 20px 36px -32px #38101266}
.mp5-page-area-ospite .mp5-directory-card::before{width:145px;height:200px;right:22px;bottom:-60px;border-radius:90px 90px 0 0;mask:linear-gradient(transparent,#000);opacity:.65}
.mp5-page-area-ospite .mp109-directory-icon{width:29px;height:29px;margin-bottom:27px;color:var(--mp2-wine);stroke-width:1.1}
.mp5-page-area-ospite .mp5-directory-card h2{font-size:clamp(34px,3.3vw,46px);margin-bottom:13px}
.mp5-page-area-ospite .mp5-directory-card p{max-width:32ch}
.mp5-page-area-ospite .mp5-directory-card>.mp6-symbol{margin-top:22px}

/* The location page gives practical arrival choices, without a repeated distance list. */
.mp109-arrivals{max-width:1100px;margin-inline:auto}
.mp109-arrivals>h2{margin-bottom:38px}
.mp109-arrival-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 52px}
.mp109-arrival{padding:28px 0 32px;border-top:1px solid var(--mp2-line);min-width:0}
.mp109-arrival h3{font:400 clamp(26px,2.7vw,34px)/1.2 var(--mp2-serif);letter-spacing:-.025em;color:var(--mp2-wine);margin:0 0 15px}
.mp109-arrival p{font-size:13px;margin:0 0 18px;line-height:1.85;max-width:54ch}
.mp109-arrival .mp2-text-link{font-size:12px;min-height:40px}
.mp109-arrival-meta{display:block;font:500 10px/1.6 var(--mp2-sans);text-transform:uppercase;letter-spacing:.09em;color:var(--mp2-wine);margin-bottom:13px}
.mp109-arrivals-note{font-size:11px!important;margin:14px 0 0}

/* Locally rendered geographic map: no embedded trackers or remote map requests. */
.mp109-map{margin:0;min-width:0;width:100%;max-width:680px;justify-self:end}
.mp109-map-canvas{position:relative;aspect-ratio:1;background:#efe7dc;overflow:hidden;border:1px solid #b49a7355;box-shadow:12px 16px 0 #5b1a1b08}
.mp109-map-canvas>img{display:block;width:100%;height:100%}
.mp109-map-marker{position:absolute;width:1px;height:1px;text-decoration:none;color:var(--mp2-wine);font-size:11px;line-height:1.4;white-space:nowrap;z-index:2}
.mp109-map-dot{display:block;position:absolute;left:-4px;top:-4px;width:8px;height:8px;background:var(--mp2-wine);border:2px solid #f4eee8;border-radius:50%;box-shadow:0 0 0 1px #5b1a1b80}
.mp109-map-label{position:absolute;left:0;top:0;width:max-content;display:flex;flex-direction:column;padding:5px 7px;background:#f4eee8f2;box-shadow:0 2px 10px #3810120a;transform:translate(-50%,10px);border-radius:2px}
.mp109-map-label strong{font-weight:600}.mp109-map-label small{font-size:10px;opacity:.8}
.mp109-map-marker:is(:hover:where(html.mp112-hover *),.mp113-pressed) .mp109-map-label{background:#fffaf5;text-decoration:underline;text-underline-offset:3px}
.mp109-map-home .mp109-map-dot{width:13px;height:13px;left:-6.5px;top:-6.5px;box-shadow:0 0 0 5px #5b1a1b20}
.mp109-map-home .mp109-map-label{transform:translate(calc(-100% - 10px),2px);background:var(--mp2-wine);color:#fff;padding:8px 10px}
.mp109-map-home:is(:hover:where(html.mp112-hover *),.mp113-pressed) .mp109-map-label{background:var(--mp2-dark);color:#fff}
.mp109-map-marker:focus-visible .mp109-map-label{outline:2px solid var(--mp2-champagne);outline-offset:3px}
.mp109-map-theatre .mp109-map-label{transform:translate(10px,-100%)}
.mp109-map-sea{position:absolute;left:76%;top:21%;font:italic 15px var(--mp2-serif);color:#7b7769;transform:rotate(-30deg)}
.mp109-map-north{position:absolute;top:18px;left:18px;color:#806951;font-size:10px;display:grid;justify-items:center;gap:3px}
.mp109-map-north::before{content:'';height:19px;width:1px;background:currentColor}
.mp109-map figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;font-size:10px;line-height:1.7;margin-top:16px;color:var(--mp2-muted)}
.mp109-map figcaption a{text-decoration:underline;text-underline-offset:3px;min-height:24px;display:inline-flex;align-items:center}
.mp5-page-dove-ci-troviamo .mp5-hero-grid{grid-template-columns:.8fr 1.2fr;gap:6%}

@media(max-width:1100px){.mp2-location-photo{--mp109-radius:140px}}
@media(max-width:700px){
 .mp2-menu-list>li:last-child>a{border-bottom:0}
 .mp2-menu-aside{border-top:1px solid #ffffff25}
 .mp5-hero-image{--mp109-radius:90px}
 .mp2-location-photo{--mp109-radius:110px}
 .mp5-page-nav{border-bottom:0}
 .mp5-page-nav>div{padding-block:3px;gap:0 18px}
 .mp5-page-nav .mp7-guest-hub{min-height:34px;padding-block:7px}
 .mp5-page-nav .mp7-guest-link{min-height:36px;padding-block:7px}
 .mp5-page-nav .mp7-guest-link:nth-last-child(-n+2){border-bottom:0}
 .mp108-location-figure figcaption{margin-top:7px}
 .mp108-walks-heading h3{font-size:30px}
 .mp108-route-list li:last-child{border-bottom:0}
 .mp108-route-list li:last-child a{padding-bottom:0;min-height:66px}
 .mp108-walks{margin-bottom:0}
 .mp2-location{padding-bottom:46px}
 .mp5-page-area-ospite .mp5-directory{gap:18px}
 .mp5-page-area-ospite .mp5-page-body{padding-top:34px}
 .mp5-page-area-ospite .mp5-directory-card{min-height:238px;padding:28px 30px;border-top-left-radius:36px}
 .mp5-page-area-ospite .mp109-directory-icon{margin-bottom:19px;width:25px;height:25px}
 .mp5-page-area-ospite .mp5-directory-card h2{font-size:36px}
 .mp109-arrival-grid{grid-template-columns:1fr}
 .mp109-arrivals>h2{margin-bottom:27px}
 .mp109-arrival{padding-block:25px}
 .mp109-arrival:last-child{padding-bottom:5px}
 .mp109-map{max-width:500px;align-self:center}
 .mp109-map-marker{font-size:10px}
 .mp109-map-label{padding:4px 5px}
 .mp109-map-label small{font-size:9px}
 .mp109-map-home .mp109-map-label{padding:6px 7px;transform:translate(calc(-100% - 8px),4px)}
 .mp109-map-theatre .mp109-map-label{transform:translate(7px,-100%)}
 .mp109-map-sea{font-size:12px;left:74%}
}
