/* Quiet shared resort presentation. Photographs stay inline; contact stays in the header. */
body{--calm-ink:#233c36;--calm-green:#1d4d48;--calm-paper:#f5f3ec}
body main :is(h1,h2,h3){overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
body main :is(h2,h3) em{color:inherit!important}
body main .location-facts strong{color:var(--calm-green)!important}
body main .section-heading{gap:18px!important}
body main .eyebrow{letter-spacing:1.5px}
body .text-link{display:inline-block!important;max-width:100%;white-space:normal!important;line-height:1.5!important;text-underline-offset:5px}
body main .text-link::after,body main .image-story .text-link::after{content:none!important}
body .header-actions{gap:16px}
body .header .header-contact80{position:relative;flex:none;color:inherit}
body .header .header-contact80>summary{background:transparent!important;color:inherit!important;padding:12px 0!important;font:600 15px/1.3 Arial,sans-serif;min-height:44px;display:flex;align-items:center;list-style:none;border-radius:0}
body .header .header-contact80>summary::-webkit-details-marker{display:none}
body .header .header-contact80>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
body .header .header-contact80 .guest-contact-panel{position:absolute!important;top:calc(100% + 12px)!important;bottom:auto!important;right:0!important;left:auto;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 140px);overflow:auto;background:#fff!important;color:var(--calm-ink)!important;padding:24px;border:1px solid #d8dfd9;border-radius:8px;box-shadow:0 10px 35px #173a3020;z-index:180;}
body .header .guest-contact-panel h2{font:600 23px/1.25 Arial,sans-serif!important;text-transform:none!important;color:var(--calm-green)!important;margin:0 0 20px}
body .header .guest-contact-panel .button{font-size:14px;width:100%;margin:0 0 14px;white-space:normal}
body .header .contact-option80{display:block;font:400 14px/1.5 Arial,sans-serif;padding:10px 0;color:var(--calm-ink);overflow-wrap:anywhere}
body .header .guest-contact-close{display:block;margin-top:12px;padding:10px 0;font:400 14px/1.5 Arial,sans-serif;color:var(--calm-green);background:transparent;border:0;text-decoration:underline;cursor:pointer}
body .contact-dock{display:none!important}
body main .calm-heading80{max-width:900px;margin-bottom:32px}
body main .calm-heading80 h2{margin:0 0 18px!important;max-width:100%!important;font-size:clamp(32px,3.5vw,48px)!important;line-height:1.15!important}
body main .calm-heading80 p{margin:0;max-width:72ch;line-height:1.7;font-size:17px;color:#4e6058}
body main .calm-nature80{background:var(--calm-paper)}
body main .calm-photo-grid80{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body main .calm-photo-grid80 figure{margin:0;min-width:0}
body main .calm-photo-grid80 img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover;border-radius:0;transform:none!important}
body main .calm-photo-grid80 figcaption{font:600 17px/1.4 Arial,sans-serif;padding:14px 0 0;color:var(--calm-ink)}
body main .calm-location80{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:30px;padding-top:24px;border-top:1px solid #cdd5cc}
body main .calm-location80 p{margin:0;line-height:1.7;font-size:15px}
body main .calm-history80{background:#fff}
body main .calm-carousel80{min-width:0;max-width:100%;margin-bottom:22px}
body main .calm-track80{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#99aaa1 transparent;padding-bottom:12px;}
body main .calm-track80:focus-visible{outline:2px solid var(--calm-green);outline-offset:4px}
body main .calm-slide80{flex:0 0 calc((100% - 24px)/2);min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
body main .calm-slide80 img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;background:var(--calm-paper);transform:none!important;border-radius:0}
body main .calm-slide80 figcaption{display:block;padding:18px 0 4px;color:var(--calm-ink)}
body main .calm-slide80 figcaption strong{display:block;font:600 19px/1.4 Arial,sans-serif;margin-bottom:8px;color:inherit}
body main .calm-slide80 figcaption span{display:block;font:400 15px/1.6 Arial,sans-serif;color:#53645c}
body main .calm-carousel-controls80{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:10px}
body main .calm-carousel-controls80 button{border:1px solid #c2cec6;background:transparent;color:var(--calm-green);font:500 14px/1.5 Arial,sans-serif;padding:10px 18px;min-height:44px;cursor:pointer}
body main .calm-carousel-controls80 button:disabled{opacity:.4;cursor:default}
body main .calm-carousel-controls80 button:focus-visible{outline:2px solid var(--calm-green);outline-offset:3px}
body main .calm-carousel-controls80 output{font:400 14px/1.5 Arial,sans-serif;color:#53645c;min-width:42px;text-align:center}
body main .capacity-band{background:#fff!important;color:var(--calm-green)!important}
body main .capacity-band strong{color:var(--calm-green)!important}
@media(max-width:1250px){body .header-actions{gap:14px}body .header .header-contact80{position:static}body .header .header-contact80 .guest-contact-panel{top:calc(100% + 8px)!important;right:16px!important}}
@media(max-width:700px){body .header{gap:10px!important}body .header-actions{gap:10px!important}body .header .header-contact80>summary{font-size:12px}body .header-actions>.button.small{font-size:11px!important;padding:12px 10px!important}body .header .brand{width:90px!important;max-width:90px!important;flex:0 0 90px!important}body .header .brand img{width:90px!important}body .header .menu{width:36px!important;min-width:36px!important;padding:0!important}body main .calm-heading80 p{font-size:16px}body main .calm-photo-grid80{grid-template-columns:1fr;gap:24px}body main .calm-location80{display:block}body main .calm-location80 .text-link{margin-top:18px}body main .calm-slide80{flex-basis:100%}body main .calm-track80{gap:16px}body main .calm-carousel-controls80{justify-content:space-between}body main .calm-heading80{margin-bottom:24px}body main .calm-photo-grid80 figcaption{font-size:16px}body main .calm-slide80 figcaption strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){body main .calm-track80{scroll-behavior:auto}}

body main :is(.calm-nature80,.calm-history80){color:var(--calm-ink)}
body main .offers{background:var(--calm-paper)!important}
body footer{padding-bottom:40px!important}

/* Narrow headers retain the logo crop and generous touch controls. */
body .booking-label-short81{display:none}
@media(max-width:700px){
 body .header .brand{height:40px!important}
 body .header .brand img{width:157.5px!important;height:88.6px!important;left:-33.75px!important;top:-16.4px!important;max-width:none!important;max-height:none!important}
 body .header .menu{width:44px!important;min-width:44px!important;min-height:44px!important}
}
@media(max-width:400px){
 body .header{padding-left:12px!important;padding-right:12px!important;gap:8px!important}
 body .header-actions{gap:8px!important}
 body .booking-label-full81{display:none}
 body .booking-label-short81{display:inline}
}

/* One heading color, including the history page's former ruby emphasis. */
body{--ruby:#1d4d48;--pink:#f5f3ec}
body main :is(h1,h2,h3) :is(em,span,strong){color:inherit!important;font-style:normal}
body main .timeline-date{color:#1d4d48!important}
body main .route-detail{border-left-color:#a2b5ac}
body main :is(.route-detail>span,.journey-grid article>span){color:#52675d}
body main .history-hero figure{transform:none;box-shadow:none;padding:0;border:0;background:transparent}
body main .monastery-gallery82 .preserve-frame{object-fit:contain!important}

body.history-page{--ruby:#1d4d48;--green:#1d4d48}
body main .siege-details82 p{line-height:1.7;max-width:80ch;margin:18px 0}
body main .siege-details82 .source{padding:6px 0;display:inline-block}
body main .timeline-content blockquote{margin:24px 0;padding:12px 0 12px 24px;border-left:2px solid #a2b5ac;font-size:20px;line-height:1.6;color:inherit;background:transparent}
body main .monastery-gallery82{margin-top:28px}

body main .fishing-cover82{display:flex;flex-direction:column;height:auto!important;min-height:0!important;padding:0;background:#f4f1e9;color:var(--ink);overflow:visible}
body main .fishing-cover82>img{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:contain!important;max-height:72vh;background:#1d2925}
body main .fishing-cover82>.gastro-overlay{display:none}
body main .fishing-cover82>.gastro-hero-copy{position:relative!important;inset:auto!important;width:100%;max-width:1280px;margin:0 auto;padding:40px max(24px,5vw);color:var(--ink)}
body main .fishing-cover82 .breadcrumb,body main .fishing-cover82 .eyebrow,body main .fishing-cover82 p{color:var(--ink)}
body main .fishing-cover82 h1{font-size:clamp(36px,5vw,68px);line-height:1.1}
@media(max-width:700px){body main .fishing-cover82>img{max-height:none}body main .fishing-cover82>.gastro-hero-copy{padding:28px 24px}}

body main .arrival-stage83{display:block;position:relative;aspect-ratio:1270/955;overflow:hidden;background:#f3f5ef}
body main .arrival-stage83>img{position:absolute;max-width:none!important;width:147.6378%!important;height:auto!important;object-fit:initial!important;left:-6.1417%;top:-8.0628%}
.arrival-dot83{position:absolute;left:24.49%;top:10.37%;transform:translate(-50%,-100%);width:34px;height:52px;background:#1d4d48;border-radius:50% 50% 45% 45%;border:3px solid white;box-shadow:0 0 0 3px #1d4d48}
.arrival-dot83:after{content:'';position:absolute;left:8px;top:9px;width:12px;height:12px;border-radius:50%;background:white}
.arrival-label83{position:absolute;left:28%;top:3%;padding:10px 15px;background:#1d4d48;color:white;border-radius:5px;font-size:clamp(14px,2vw,23px);line-height:1.3;font-weight:700}
.arrival-label83>span{display:block;font-size:clamp(10px,1.2vw,14px);font-weight:400;margin-top:3px}
.directions-actions83{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 12px}
.directions-actions83 .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.directions-actions83 .text-link{padding:12px 4px;min-height:44px}
.directions-note83{font-size:14px;line-height:1.6;color:#59615e;margin-bottom:30px;max-width:70ch}
.location-context83{border-top:1px solid #bac7bf;padding:20px 0}
.location-context83 summary{cursor:pointer;font-size:20px;color:#1d4d48;min-height:44px;padding:8px 0}
body main .archive-plan83{display:block;width:100%;max-width:720px;margin:28px auto;background:#f4f1e9}
body main .archive-plan83 img{display:block;width:100%;height:auto!important;max-height:none;object-fit:contain!important}
.archive-plan83 figcaption{padding:18px 22px;line-height:1.6;font-size:16px}.archive-plan83 figcaption a{display:inline-block;margin:10px 18px 0 0;text-decoration:underline}
@media(max-width:600px){.arrival-dot83{width:22px;height:33px;border-width:2px;box-shadow:0 0 0 2px #1d4d48}.arrival-dot83:after{width:8px;height:8px;left:5px;top:6px}.arrival-label83{padding:6px 9px;left:30%;top:2%}.directions-actions83{display:grid;grid-template-columns:1fr 1fr}.directions-actions83 .text-link{grid-column:1/-1}.directions-actions83 .button{padding:12px 8px;font-size:12px}}

/* Official Tourism mark from the supplied logo guide: preserve artwork and clear space. */
body main .project-heading79>.tourism-brand70.tourism-brand85{box-sizing:border-box;width:148px!important;flex:0 0 148px!important;padding:16px!important;margin:0!important;background:#fff;border-radius:4px;overflow:visible;align-self:center}
body main .tourism-brand70.tourism-brand85 img{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1030/854!important;object-fit:contain!important;filter:none!important;opacity:1!important;mix-blend-mode:normal;border-radius:0!important}
@media(max-width:600px){body main .project-heading79>.tourism-brand70.tourism-brand85{width:120px!important;flex-basis:120px!important;padding:14px!important}body main .project-heading79{gap:18px!important}}
