/* Hotel Intervallo — Mediterranean editorial identity */

/* Inherit a transparent touch highlight everywhere, including summaries and labels.
   Keyboard focus keeps its dedicated :focus-visible styles. */
html{-webkit-tap-highlight-color:transparent}

:root{--paper:#f8f6f0;--cream:#eeeade;--ink:#303c32;--muted:#73766b;--olive:#354a3c;--deep:#263b30;--terra:#a95b42;--line:#dcded2;--white:#fff;--serif:'Plus Jakarta Sans',Arial,sans-serif;--sans:'Plus Jakarta Sans',Arial,sans-serif;--gutter:clamp(24px,5.5vw,88px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}body.modal-open,body.menu-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}p{margin:0 0 1.3em}img{max-width:100%;height:auto;display:block}figure,blockquote{margin:0}ul{padding-left:20px}button{color:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:400}h1,h2,h3,h4{font-family:var(--serif);line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(56px,6.5vw,104px)}h2{font-size:clamp(42px,4.1vw,66px)}h3{font-size:34px}h4{font-size:28px}h5{font-size:19px;line-height:1.6}h6{font:500 11px/1.7 var(--sans);letter-spacing:.17em;text-transform:uppercase}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:.94em;color:var(--terra)}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--terra);outline-offset:5px}::selection{background:#dbc6a6;color:var(--ink)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1320px;margin-inline:auto}.section{padding-block:100px}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:.2em;line-height:1.7;text-transform:uppercase;margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px;gap:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--olive);border:1px solid var(--olive);color:var(--paper);padding:17px 24px;font-size:12px;font-weight:500;line-height:1.4;transition:background .25s,transform .25s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button>span{font-size:22px;line-height:1}.button-light{background:var(--paper);border-color:var(--paper);color:var(--olive)}.button-light:hover{background:#e9e5d9}.text-link{display:inline-flex;gap:22px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid currentColor;font-size:12px;font-weight:600;margin:0 22px 12px 0;line-height:1.5}.text-link>span{font-size:22px}.text-link:hover{color:var(--terra)}.skip-link{position:fixed;left:20px;top:-100px;background:var(--olive);color:white;padding:12px;z-index:200}.skip-link:focus{top:10px}.topline{height:33px;display:flex;align-items:center;justify-content:space-between;background:var(--olive);color:#eceee4;padding-inline:var(--gutter);font-size:9px;letter-spacing:.15em}.topline i{font-style:normal;padding:0 9px;color:#c1cbbd}.topline a{font-size:10px;letter-spacing:.07em}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:30px;padding:9px var(--gutter);height:98px;border-bottom:1px solid #e8e7dd;background:rgba(248,246,240,.97);backdrop-filter:blur(16px);transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 3px 25px #263b3010}.brand{flex-shrink:0;width:139px}.brand img{width:139px;height:auto}.main-nav{display:flex;gap:23px;align-items:center;margin-inline:auto}.main-nav>a{position:relative;font-size:12px;white-space:nowrap;padding:14px 0}.main-nav>a::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .25s}.main-nav>a:hover::after,.main-nav>a[aria-current]::after{transform:scaleX(1)}.main-nav .nav-offer{color:var(--terra)}.nav-offer span{margin-left:4px}.header-actions{display:flex;align-items:center;gap:24px}.languages{display:flex;align-items:center;gap:10px;font-size:9px}.languages a{color:#7b8076;line-height:2;padding:4px 0}.languages a[aria-current]{color:var(--ink);border-bottom:1px solid var(--ink)}.header-book{font-size:11px;padding:15px 18px;gap:16px}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;width:23px;height:1px;background:var(--ink);margin:7px 0;transition:transform .2s}.home-hero{display:grid;grid-template-columns:48% 52%;min-height:660px;max-width:1600px;margin:auto;position:relative}.hero-copy{padding:83px 40px 53px var(--gutter);position:relative}.hero-kicker{font-size:9px;letter-spacing:.13em;display:flex;align-items:center;gap:12px;margin-bottom:26px}.stars{color:var(--terra);white-space:nowrap;font-size:10px;letter-spacing:.2em}.hero-copy h1{line-height:.99;letter-spacing:-.055em;margin-bottom:29px}.hero-copy h1 em{line-height:1.1;display:inline-block}.hero-copy>p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:31px}.hero-actions{display:flex;align-items:center;gap:26px}.round-link{display:flex;align-items:center;gap:9px;font-size:10px}.round-link>span{border:1px solid #c8cbbd;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:17px;transition:transform .2s}.round-link:hover>span{transform:translateX(4px)}.hero-footnote{margin-top:55px;font-size:8px;letter-spacing:.17em}.hero-visual{position:relative;margin:24px 25px 48px 0;min-height:570px}.hero-main-image{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:46% center}.hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#172c2b40,transparent 42%);pointer-events:none}.hero-image-label{position:absolute;right:20px;top:26px;writing-mode:vertical-rl;z-index:1;letter-spacing:.24em;font-size:9px;color:white}.hero-sea{position:absolute;left:-45px;bottom:-25px;z-index:2;width:225px;background:var(--paper);padding:8px;box-shadow:0 12px 30px #24322c14;transform:rotate(-5deg)}.hero-sea img{width:100%;aspect-ratio:1.6;object-fit:cover}.hero-sea>span{font-size:11px;display:block;padding:6px 6px 1px;color:var(--ink)}.hero-sea i{font:italic 12px Georgia,serif;float:right}.booking-wrap{position:relative;z-index:3;margin-top:12px}.booking{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr auto;align-items:center;padding:28px;background:#edece2;gap:25px}.booking .eyebrow{letter-spacing:.13em;font-size:10px;margin:0 0 6px}.booking p{font-size:10px;color:var(--muted);margin:0}.booking label{border-left:1px solid #cdd0c2;padding-left:25px;font-size:10px;letter-spacing:.08em}.booking input,.booking select{display:block;width:100%;min-height:30px;padding:2px 0;background:transparent;border:none;color:var(--ink);font-size:13px;letter-spacing:0}.booking .button{white-space:nowrap;padding:18px}.stats{display:flex;align-items:center;justify-content:space-around;padding-block:43px;border-bottom:1px solid var(--line)}.stats>div{display:flex;align-items:center;gap:20px}.stats strong{font:50px/1 var(--serif);letter-spacing:-.04em}.stats strong small{font-size:29px}.stats span{max-width:120px;font-size:11px;color:var(--muted);line-height:1.6}.experience-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.experience-card:nth-child(2){padding-top:60px}.experience-card:nth-child(3){padding-top:25px}.experience-image{position:relative;overflow:hidden;margin-bottom:25px}.experience-image img{width:100%;aspect-ratio:.94;object-fit:cover;transition:transform .65s}.experience-card:nth-child(2) img{aspect-ratio:1.05}.experience-card:nth-child(3) img{aspect-ratio:1}.experience-card:hover img{transform:scale(1.045)}.card-number{position:absolute;left:18px;top:16px;color:white;font-size:11px;letter-spacing:.1em;text-shadow:0 1px 4px #0009}.circle-arrow{position:absolute;bottom:15px;right:15px;width:42px;height:42px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:21px;transition:background .2s}.experience-card:hover .circle-arrow{background:var(--cream)}.experience-card .eyebrow{font-size:9px;margin-bottom:10px;color:var(--terra)}.experience-card h3{font-size:30px;letter-spacing:-.03em;margin-bottom:15px}.experience-card p{font-size:12px;line-height:1.8;color:var(--muted);max-width:310px}.about{background:var(--cream);padding-block:115px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about-images{position:relative;min-height:620px;padding:0 50px 60px 0;align-self:start}.about-tall{width:100%;height:550px;object-fit:cover}.about-detail{position:absolute;right:-12px;bottom:0;width:56%;height:250px;object-fit:cover;border:8px solid var(--cream)}.image-caption{font-size:9px;letter-spacing:.16em}.about-images .image-caption{position:absolute;left:0;bottom:20px;max-width:150px;line-height:1.8}.about-copy h2{margin-bottom:30px}.about-copy p{font-size:13px;line-height:1.85;color:#5e655b}.about-copy .text-link{margin-top:10px}.services{background:var(--olive);color:var(--paper)}.services em{color:#dfc8a6}.services .eyebrow{color:#c1c6b5}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff30;padding-top:40px}.service{padding:0 24px;border-left:1px solid #ffffff30}.service:first-child{padding-left:0;border:0}.service svg{width:41px;height:41px;color:#d4c4a4;margin-bottom:30px}.service h3{font:400 16px/1.55 var(--sans);letter-spacing:0;max-width:190px}.electric{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:50px;border-bottom:1px solid var(--line)}.electric>div>svg{height:28px;width:28px;color:var(--terra);margin-bottom:12px}.electric h6{font-size:9px;max-width:370px;margin-bottom:9px}.electric h3,.electric h4{font-family:var(--sans);font-size:15px;letter-spacing:0;line-height:1.7}.electric .photo-grid{grid-template-columns:1fr 1fr;gap:12px;max-width:320px;justify-self:end}.electric .gallery-item img{aspect-ratio:1.5;object-fit:contain;background:#fff}.electric .zoom{width:27px;height:27px;font-size:17px;bottom:4px;right:4px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.offer-photo{position:relative;align-self:stretch;min-height:590px}.offer-photo img{height:100%;width:100%;object-fit:cover;position:absolute}.offer-photo>span{position:absolute;left:30px;bottom:25px;color:#fff;font-size:10px;letter-spacing:.15em;text-shadow:0 1px 8px #000}.offer-copy h6{color:var(--muted);font-size:9px;margin-bottom:10px}.offer-copy h3{font-size:43px;margin-bottom:25px}.offer-copy p{font-size:13px;color:#5f655b;line-height:1.8}.offer-copy p strong{color:var(--ink)}.offer-copy .eyebrow{color:var(--terra)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.reviews{padding-top:20px}.review{border-top:1px solid var(--line);padding-top:20px}.quote-mark{font:70px/1 Georgia,serif;color:var(--terra);height:48px;display:block}.review details{display:flex;flex-direction:column}.review summary{font-size:11px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-block:12px}.review summary::-webkit-details-marker{display:none}.review blockquote{font-size:13px;line-height:1.9;padding-top:20px;color:#60675c}.review-author{font-size:12px;font-weight:600;padding-top:18px}.video-section{padding-top:45px}.media-placeholder{position:relative;overflow:hidden}.video-placeholder{height:480px;background:var(--olive)}.video-placeholder>img{height:100%;width:100%;object-fit:cover;filter:brightness(.66)}.media-placeholder iframe{display:block;height:100%;width:100%;border:0;position:absolute;inset:0}.media-activate{border:0}.video-placeholder .media-activate{position:absolute;inset:0;margin:auto;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:15px;background:transparent;color:white;font-size:12px;letter-spacing:.03em}.play-icon{width:78px;height:78px;border:1px solid #ffffffaa;border-radius:50%;display:grid;place-items:center;font-size:36px;padding-left:5px;backdrop-filter:blur(8px);transition:background .2s}.media-activate:hover .play-icon{background:#ffffff22}.location{background:#eeeee5}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.location h2{margin-bottom:27px}.location-description p{font-size:13px;line-height:1.9;color:#656c61}.address{font-size:12px;border-left:1px solid var(--terra);padding-left:18px;margin:25px 0 15px}.map-placeholder{min-height:440px;background:#e0e5da}.map-placeholder>img{height:100%;width:100%;object-fit:cover;filter:saturate(.7)}.map-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);display:flex;align-items:center;gap:12px;background:var(--paper);box-shadow:0 8px 40px #20322c25;padding:20px 25px;white-space:nowrap}.map-card>svg{width:27px;height:27px;color:var(--terra)}.map-card span{font-size:13px}.map-card small{display:block;font-size:10px;color:var(--muted)}.map-placeholder>.button{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);white-space:nowrap}.map-placeholder>.button:hover{transform:translateX(-50%) translateY(-2px)}.album-note{font-size:10px;letter-spacing:.03em;color:var(--muted)}.album .section-heading h2{font-size:44px}.album-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#99a48f transparent;padding-bottom:10px;scroll-snap-type:x mandatory}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-item{position:relative;overflow:hidden;display:block;background:var(--cream)}.gallery-item img{width:100%;aspect-ratio:1.33;object-fit:cover;transition:transform .45s}.gallery-item:hover img{transform:scale(1.035)}.zoom{position:absolute;right:12px;bottom:12px;border:1px solid #ffffffa0;background:#f8f6f0e8;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:20px;color:var(--ink)}.photo-strip{display:flex;gap:13px;padding-inline:var(--gutter);width:max-content}.photo-strip .gallery-item{width:220px;scroll-snap-align:start}.photo-strip img{aspect-ratio:1}.footer-invitation{background:var(--olive);color:var(--paper);padding:65px 0}.footer-invitation .eyebrow{color:#ccd2c4;font-size:9px}.invitation-row{display:flex;justify-content:space-between;align-items:center;gap:40px}.invitation-row h2{font-size:57px}.invitation-row em{color:#d6c2a0}.site-footer{background:#e9e8dd;padding:65px 0 28px;font-size:11px;line-height:1.85}.footer-grid{display:grid;grid-template-columns:1.3fr .9fr 1fr;gap:80px}.footer-column:first-child p{font-size:11px;color:#697062}.footer-brand{display:block;width:133px;margin-bottom:20px}.footer-column>a:has(img){display:inline-block;vertical-align:middle}.footer-column img{width:32px;height:32px;object-fit:contain;display:inline-block}.footer-column img[src*="youritaly"]{width:140px;height:39px}.footer-column .footer-brand img{width:133px;height:auto}.footer-column img[src*="whatsapp"]{height:16px;width:16px}.footer-column h6{font-size:10px;letter-spacing:.15em;margin-bottom:25px}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{padding-bottom:12px}.footer-column li div:has(>img){float:left;margin-right:8px}.footer-column li p{margin:0}.footer-column blockquote{margin-top:12px;font-size:10px}.footer-column a:hover{text-decoration:underline;text-underline-offset:4px}.partners{display:flex;gap:35px;padding-top:30px;margin-top:35px;border-top:1px solid #c8cdbd}.partners a{font-size:11px;display:flex;gap:14px}.legal{border-top:1px solid #c8cdbd;margin:30px 0 10px;padding-top:23px;font-size:9px;color:#616958;line-height:1.9}.legal img{display:inline-block;width:12px;height:auto;vertical-align:middle}.legal a{text-decoration:underline;text-underline-offset:3px}.page-hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding-block:55px 65px;align-items:center;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(48px,5.2vw,81px);margin-bottom:26px}.page-hero p{font-size:13px;line-height:1.9;color:var(--muted);max-width:460px}.page-hero-image{position:relative;height:420px}.page-hero-image img{width:100%;height:100%;object-fit:cover}.page-hero-image .image-caption{position:absolute;bottom:18px;left:20px;color:#fff;text-shadow:0 1px 7px #000}.story{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.story-copy h3{font-size:44px;margin-bottom:25px}.story-copy h4{font-size:35px;margin:35px 0 20px}.story-copy h5{font:italic 22px/1.6 Georgia,serif;color:var(--terra);margin-bottom:24px}.story-copy h6{margin-bottom:16px}.story-copy p{font-size:14px;line-height:1.95;color:#62695f;margin-bottom:23px}.story-copy p a{color:var(--ink)}.story-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-gallery .gallery-item:first-child{grid-column:1/-1}.story-gallery .gallery-item:first-child img{aspect-ratio:1.2}.story-gallery .gallery-item:nth-child(3n){margin-top:22px}.prose-section{max-width:870px;text-align:center}.prose-section h3{font-size:46px;margin-bottom:20px}.prose-section h4{font-size:30px;margin:25px 0}.prose-section h5{font:italic 23px/1.6 Georgia,serif;color:var(--terra);margin-bottom:25px}.prose-section p{color:#646b61;font-size:14px;margin-top:20px}.prose-section h6{color:var(--terra);margin-bottom:22px}.prose-section:has(+.full-gallery){padding-bottom:0}.full-gallery .gallery-item:first-child{grid-column:span 2;grid-row:span 2}.full-gallery .gallery-item:first-child img{height:100%;aspect-ratio:auto}.full-gallery .photo-grid{gap:20px}.full-gallery .section-heading{align-items:center}.full-gallery h2{font-size:38px}.destinations{background:var(--cream)}.destinations h3,.destinations h2{font-size:48px;margin-bottom:40px}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.destination-grid h4{font-size:28px;margin-bottom:18px}.destination-grid p{font-size:12px;line-height:1.9}.destination-grid>div{border-top:1px solid #c4c9b9;padding-top:20px}.destination-grid a{font-size:11px}.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:55px}.amenities>div{display:flex;align-items:center;gap:18px;font-size:12px}.amenities svg{height:26px;width:26px;flex-shrink:0;color:var(--terra)}.rates{padding-top:60px}.rates h3{font-size:52px;margin-bottom:35px}.rates h4{font:500 20px/1.5 var(--sans);letter-spacing:0;margin:35px 0 20px}.rates p{max-width:940px;font-size:14px}.rates .table-hint{font-size:11px;color:var(--muted);margin-bottom:20px}.table-scroll{overflow:auto;margin-bottom:30px;border:1px solid var(--line);scrollbar-width:thin}.rates-table{width:100%;border-collapse:collapse;min-width:730px;font-size:12px;line-height:1.5}.rates-table td,.rates-table th{padding:18px 16px;text-align:center;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.rates-table th{background:var(--olive);color:var(--paper);font-size:11px;font-weight:500}.rates-table th i{font-style:normal}.rates-table td[rowspan]{background:#edece2;vertical-align:middle}.rates-table tr:nth-child(4n+2),.rates-table tr:nth-child(4n+3){background:#f0efe6}.rates-table tr:hover{background:#e7e9dd}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.contact-grid h4{font-size:31px;margin-bottom:22px}.contact-grid p{font-size:13px}.contact-info ul{list-style:none;padding:0}.contact-info img{height:22px;width:22px;display:inline-block}.contact-info li{margin-bottom:20px}.contact-info h4:not(:first-child){margin-top:35px}.contact-info a{border-bottom:1px solid #c1c9b8}.contact-form-wrap{background:#eeede3;padding:35px}.contact-form-wrap>p{font-size:11px;color:var(--muted)}.contact-form label{font-size:11px;display:block;line-height:1.7;margin-bottom:7px}.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{display:block;width:100%;padding:13px 14px;border:1px solid #cdd2c1;background:var(--paper);border-radius:0;margin-bottom:20px;color:var(--ink);font-size:13px}.contact-form textarea{resize:vertical;min-height:155px}.contact-form p label{display:inline;font-size:11px}.contact-form input[type=checkbox]{width:16px;height:16px;margin:0 6px 0 0;accent-color:var(--olive);vertical-align:middle}.contact-form p a{font-size:11px}.contact-form .button{margin-top:16px}.contact-form button:disabled{opacity:.5;cursor:wait}.form-status{margin-top:17px}.form-status[data-state=error]{color:#9f382c}.form-status[data-state=success]{color:#2b623c}.lightbox{max-width:none;max-height:none;width:100vw;height:100dvh;padding:65px 80px;background:#17241ef5;color:#fff;border:0;inset:0;margin:0;overflow:hidden}.lightbox::backdrop{background:#17241ef5}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{max-height:100%;display:flex;flex-direction:column;align-items:center}.lightbox figure img{max-width:calc(100vw - 180px);max-height:calc(100dvh - 160px);object-fit:contain;box-shadow:0 20px 50px #0004}.lightbox figcaption{font-size:12px;padding-top:15px}.lightbox button{position:absolute;border:1px solid #ffffff50;background:transparent;color:white;border-radius:50%;width:46px;height:46px;font-size:23px;display:grid;place-items:center}.lightbox-close{top:20px;right:25px}.lightbox-prev{top:calc(50% - 23px);left:20px}.lightbox-next{top:calc(50% - 23px);right:20px}.lightbox button:hover{background:#ffffff20}.fade-in{animation:enter .7s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.electric h2{font:500 19px/1.5 var(--sans);letter-spacing:-.02em;max-width:510px;margin-bottom:12px}.electric p{font-size:12px;color:var(--muted);margin:0}.review-preview{font-size:13px;line-height:1.9;color:#60675c;margin:12px 0}.review:has(details[open]) .review-preview{display:none}
.story:has(+.gallery-more){padding-bottom:35px}.story:has(+.gallery-more) .story-gallery{position:sticky;top:125px}.gallery-more{margin-bottom:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gallery-more>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:12px;padding:22px 0;cursor:pointer}.gallery-more>summary::-webkit-details-marker{display:none}.gallery-more>summary span{font-size:25px;transition:transform .2s}.gallery-more[open]>summary span{transform:rotate(90deg)}.gallery-more>.photo-grid{padding-bottom:25px}
@media(max-width:760px){.story:has(+.gallery-more) .story-gallery{position:static}.gallery-more{margin-bottom:35px}.gallery-more>.photo-grid{grid-template-columns:1fr 1fr}.electric h2{font-size:17px}}
@media(min-width:1600px){.home-hero{max-width:1500px}.hero-copy{padding-left:50px}.hero-visual{margin-right:0}.hero-copy h1{font-size:102px}}
@media(max-width:1320px){.site-header{gap:20px}.main-nav{gap:18px}.header-actions{gap:18px}.header-book{display:none}.hero-copy{padding-top:65px}.home-hero{min-height:625px}.hero-visual{min-height:540px}.hero-actions{gap:16px}.round-link{font-size:9px}.booking{gap:18px;padding:24px}.booking label{padding-left:18px}.booking-heading{max-width:170px}.booking .button{font-size:11px}.footer-grid{gap:45px}}
@media(max-width:1000px){.site-header{height:86px}.main-nav{gap:15px}.main-nav>a{font-size:11px}.brand,.brand img{width:120px}.languages{gap:7px}.header-actions{gap:10px}.hero-copy{padding-top:50px;padding-right:26px}.hero-copy h1{font-size:clamp(52px,6.8vw,68px)}.hero-kicker{display:block;font-size:8px}.hero-kicker .stars{display:block;margin-bottom:10px}.home-hero{min-height:590px}.hero-visual{min-height:510px}.hero-copy>p{font-size:12px}.hero-actions{flex-wrap:wrap}.hero-footnote{font-size:7px;margin-top:26px}.hero-sea{width:175px;left:-25px}.booking{grid-template-columns:1fr 1fr 1fr}.booking-heading{grid-column:1/-1;max-width:none;display:flex;gap:22px;align-items:center}.booking-heading .eyebrow{margin:0}.booking label{border-left:0;padding-left:0}.booking .button{grid-column:1/-1;justify-content:center}.section{padding-block:75px}.experience-grid{gap:22px}.experience-card h3{font-size:26px}.about-grid{gap:7%}.about-images{min-height:580px;padding-right:20px}.about-tall{height:480px}.about-detail{height:200px;width:65%}.about-images .image-caption{max-width:110px}.service h3{font-size:14px}.offer-grid{gap:7%}.offer-copy h3{font-size:36px}.offer-photo{min-height:650px}.review-grid{gap:25px}.page-hero{gap:5%}.page-hero h1{font-size:56px}.page-hero-image{height:380px}.footer-grid{gap:30px}.destination-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:6%}.contact-form-wrap{padding:25px}}
@media(max-width:760px){:root{--gutter:24px}html{scroll-padding-top:90px}h1{font-size:58px}h2{font-size:42px}.section{padding-block:62px}.section-heading{margin-bottom:30px}.eyebrow{font-size:9px;margin-bottom:16px}.topline{height:29px;font-size:7px;letter-spacing:.08em}.topline a{font-size:8px}.topline i{padding:0 4px}.site-header{height:78px;padding-block:6px;gap:15px}.brand,.brand img{width:115px}.header-actions{margin-left:auto;gap:18px}.languages{font-size:9px;gap:12px}.menu-toggle{display:block}.main-nav{display:none;position:fixed;top:78px;left:0;right:0;background:var(--paper);height:calc(100dvh - 78px);padding:30px var(--gutter) 70px;overflow-y:auto;margin:0;z-index:49}.menu-open .main-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}.main-nav>a{font-family:var(--serif);font-size:34px;border-bottom:1px solid var(--line);padding:12px 0}.main-nav>a::after{display:none}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.home-hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:36px var(--gutter) 35px}.hero-kicker{display:flex;font-size:7px;margin-bottom:23px;gap:9px}.hero-kicker .stars{display:inline;margin:0;font-size:8px}.hero-copy h1{font-size:clamp(58px,10.4vw,78px);line-height:1.01;margin-bottom:22px}.hero-copy>p{font-size:13px;margin-bottom:23px}.hero-actions{flex-wrap:nowrap;gap:22px}.hero-actions .button{font-size:11px;padding:15px 20px}.round-link{font-size:9px}.hero-footnote{display:none}.hero-visual{height:370px;min-height:0;margin:0 16px 45px 45px}.hero-main-image{object-position:45% center}.hero-sea{width:156px;left:-24px;bottom:-22px;padding:6px}.hero-sea>span{font-size:9px}.hero-sea i{font-size:10px}.hero-image-label{font-size:7px;right:13px;top:18px}.booking-wrap{margin-top:10px}.booking{grid-template-columns:1fr 1fr;gap:18px 16px;padding:22px}.booking-heading{display:block}.booking-heading .eyebrow{font-size:9px;margin-bottom:5px}.booking label{font-size:9px;min-width:0}.booking input,.booking select{font-size:12px;width:100%;min-width:0;min-height:34px}.booking label:has(select){grid-column:1/-1;border-top:1px solid #cdd0c2;padding-top:10px;display:flex;align-items:center;gap:20px}.booking select{max-width:180px;margin-left:auto}.booking .button{padding:16px}.stats{padding-block:31px;justify-content:space-between;gap:16px}.stats>div{display:block}.stats strong{font-size:39px}.stats strong small{font-size:22px}.stats span{display:block;margin-top:10px;font-size:9px;max-width:95px}.experience-grid{grid-template-columns:1fr;gap:35px}.experience-card:nth-child(2),.experience-card:nth-child(3){padding:0}.experience-image{margin-bottom:18px}.experience-image img,.experience-card:nth-child(2) img,.experience-card:nth-child(3) img{aspect-ratio:1.2}.experience-card:nth-child(2){margin-left:32px}.experience-card:nth-child(3){margin-right:32px}.experience-card h3{font-size:32px;margin-bottom:10px}.experience-card p{font-size:12px;margin:0}.about-grid{grid-template-columns:1fr;gap:43px}.about-images{min-height:420px;padding-right:45px;max-width:560px}.about-tall{height:370px}.about-detail{height:185px;width:53%;right:0;border-width:6px}.about-images .image-caption{max-width:150px;font-size:8px;bottom:14px}.about-copy h2{margin-bottom:23px}.about-copy p{font-size:13px}.service-grid{grid-template-columns:1fr 1fr;gap:32px 0;padding-top:28px}.service{padding:0 20px}.service:nth-child(3){padding-left:0;border:0}.service svg{width:34px;height:34px;margin-bottom:17px}.service h3{font-size:13px}.electric{grid-template-columns:1fr;gap:25px;padding-block:35px}.electric .photo-grid{justify-self:start;max-width:260px}.electric h3,.electric h4{font-size:13px}.offer-grid{grid-template-columns:1fr;gap:35px}.offer-photo{min-height:0;height:330px}.offer-copy h3{font-size:37px}.offer-copy p{font-size:13px}.review-grid{grid-template-columns:1fr;gap:24px}.review blockquote{font-size:13px}.quote-mark{font-size:60px}.review-author{margin-bottom:0;padding-top:12px}.video-placeholder{height:250px}.video-section .section-heading h2{font-size:36px}.play-icon{width:62px;height:62px;font-size:29px}.location-grid{grid-template-columns:1fr;gap:32px}.map-placeholder{min-height:330px}.map-card{padding:16px}.map-placeholder>.button{font-size:11px;width:calc(100% - 38px);justify-content:center;gap:15px}.album .section-heading h2{font-size:35px}.album-note{display:none}.photo-strip .gallery-item{width:185px}.footer-invitation{padding-block:50px}.invitation-row{display:block}.invitation-row h2{font-size:43px;margin-bottom:28px}.invitation-row .button{font-size:11px}.site-footer{padding-top:40px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-column:first-child p{max-width:550px}.footer-column h6{margin-bottom:17px}.footer-column:first-child br{display:none}.partners{flex-direction:column;gap:15px;padding-top:25px;margin-top:25px}.legal{padding-top:22px;font-size:9px}.page-hero{grid-template-columns:1fr;gap:30px;padding-block:35px}.page-hero h1{font-size:53px}.page-hero p{font-size:12px;margin-bottom:0}.page-hero-image{height:280px}.page-hero .eyebrow{font-size:8px}.page-hero-image .image-caption{font-size:7px}.story{grid-template-columns:1fr;gap:32px}.story-copy h3{font-size:36px}.story-copy h5{font-size:20px}.story-copy p{font-size:13px}.story-gallery .gallery-item:nth-child(3n){margin-top:0}.prose-section h3{font-size:35px}.prose-section h5{font-size:20px}.prose-section p{font-size:13px}.full-gallery .section-heading{display:block}.full-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.full-gallery .gallery-item:first-child{grid-row:auto;grid-column:1/-1}.full-gallery .gallery-item:first-child img{aspect-ratio:1.33}.gallery-item .zoom{width:28px;height:28px;right:8px;bottom:8px;font-size:18px}.destination-grid{grid-template-columns:1fr 1fr;gap:25px 22px}.destination-grid h4{font-size:24px}.destination-grid p{font-size:11px}.destinations h3,.destinations h2{font-size:38px}.amenities{grid-template-columns:1fr 1fr;gap:23px 20px;padding-top:35px}.amenities>div{font-size:10px;gap:11px}.amenities svg{height:23px;width:23px}.rates{padding-top:40px}.rates h3{font-size:43px}.rates h4{font-size:17px}.rates p{font-size:12px}.rates-table{min-width:680px;font-size:11px}.rates-table th,.rates-table td{padding:14px 12px}.rates .table-hint{font-size:10px}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-form-wrap{padding:24px 20px}.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{font-size:16px}.contact-grid h4{font-size:28px}.contact-form .button{width:100%;justify-content:center}.lightbox{padding:65px 10px 100px}.lightbox figure img{max-width:calc(100vw - 20px);max-height:calc(100dvh - 200px)}.lightbox-close{right:16px;top:16px}.lightbox-prev,.lightbox-next{top:auto;bottom:30px}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}}
@media(max-width:370px){:root{--gutter:18px}.hero-copy h1{font-size:54px}.hero-actions{gap:12px}.hero-actions .button{padding:14px}.round-link>span{width:28px;height:28px}.hero-kicker{font-size:6.5px}.languages{gap:8px}.topline{font-size:6px}.hero-sea{width:140px}.hero-visual{height:330px}.stats strong{font-size:35px}.page-hero h1{font-size:47px}}.footer-column{min-width:0}.footer-column a,.legal{overflow-wrap:normal}
.contact-grid>*{min-width:0}.contact-form-wrap h4,.contact-info a{overflow-wrap:normal}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Visual refinement: immersive photography, generous reading sizes, tactile details. */
:root{
  --paper:#faf8f2;--cream:#efebe0;--ink:#233f37;--muted:#687065;
  --olive:#234638;--deep:#173c32;--terra:#a75e43;--line:#d9ddcf;
  --gutter:clamp(22px,5.3vw,88px);
}
body{font-size:16px;line-height:1.85}
h1,h2,h3,h4{letter-spacing:-.028em;text-wrap:balance}
h2{font-size:clamp(40px,4.4vw,66px);line-height:1.12}
h3{line-height:1.2}
.section{padding-block:clamp(64px,7.3vw,112px)}
.section-heading{margin-bottom:42px;align-items:center}
.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:600}
.button{font-size:13px;padding:18px 26px;min-height:56px;gap:28px;border-radius:2px}
.button>span{flex-shrink:0;transition:transform .25s}
.button:hover>span{transform:translate(3px,-3px)}
.text-link{font-size:13px;gap:18px;padding-block:12px}
.topline{height:32px;font-size:9px;background:var(--deep)}
.site-header{height:100px;background:#fffdf9;backdrop-filter:blur(18px);border-bottom:1px solid #e9e7dc;gap:30px}
.site-header.scrolled{box-shadow:0 5px 35px #153c3210}
.brand,.brand img{width:145px}
.main-nav{gap:23px}
.main-nav>a{font-size:13px}
.main-nav>a[aria-current]{color:var(--terra)}
.languages{font-size:10px;gap:12px}
.header-book{font-size:12px;padding:14px 19px;min-height:51px;gap:20px}
.header-actions{gap:23px}
.menu-extra{display:none}

/* Home: the villa is the setting, not a small illustration beside the headline. */
.home-hero{display:block;isolation:isolate;width:calc(100% - 36px);max-width:1720px;min-height:690px;margin:18px auto 0;overflow:hidden;background:var(--deep)}
.hero-visual{position:absolute;inset:0;margin:0;height:auto;min-height:0;z-index:-1}
.hero-main-image{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.hero-visual::after{background:linear-gradient(90deg,rgba(12,37,30,.78) 0%,rgba(13,38,31,.51) 42%,rgba(13,38,31,.04) 75%),linear-gradient(0deg,rgba(11,32,28,.5),transparent 50%);z-index:0}
.hero-copy{padding:80px 6.3% 95px;max-width:900px;color:#fffdf5;position:relative;z-index:2}
.hero-kicker{color:#eeecde;font-size:10px;letter-spacing:.16em;margin-bottom:36px;display:flex}
.hero-kicker .stars{color:#e7c18a;display:inline;font-size:10px;margin:0}
.hero-copy h1{font-size:clamp(68px,7.2vw,112px);line-height:1.04;letter-spacing:-.035em;margin-bottom:25px;max-width:770px;text-shadow:0 2px 25px #12352f15}
.hero-copy h1 em{font-size:.82em;color:#eed4af;font-weight:400;line-height:1.08;display:inline-block}
.hero-copy>p{font-size:15px;line-height:1.85;color:#f2f3e8;margin-bottom:30px;max-width:510px}
.hero-actions{gap:25px;flex-wrap:wrap}
.hero-actions .button{background:#f8f4e8;border-color:#f8f4e8;color:var(--deep);font-size:13px;min-width:170px}
.hero-actions .button:hover{background:#fffdf8}
.round-link{font-size:11px;gap:12px}
.round-link>span{border-color:#d8dfcb88;width:40px;height:40px}
.hero-footnote{display:block;font-size:9px;margin-top:35px;letter-spacing:.17em;color:#e0e6d7}
.hero-image-label{top:36px;right:26px;font-size:9px;color:#f4f5e9}
.hero-sea{left:auto;right:36px;bottom:38px;width:215px;padding:9px;transform:rotate(4deg);z-index:3;box-shadow:0 15px 35px #12231c40}
.hero-sea>span{font-size:10px;padding:7px 5px 1px}
.booking-wrap{margin-top:-27px;z-index:3}
.booking{background:#fffdf7;box-shadow:0 18px 50px #2b42330c;border:1px solid #e6e7dc;padding:27px 30px;gap:24px;grid-template-columns:minmax(150px,1.3fr) minmax(120px,1fr) minmax(120px,1fr) minmax(90px,.75fr) auto}
.booking-heading{max-width:none}
.booking .eyebrow{font-size:10px;letter-spacing:.12em}
.booking p{font-size:11px;line-height:1.6;max-width:165px}
.booking label{font-size:11px;letter-spacing:.04em;padding-left:20px;min-width:0}
.booking input,.booking select{font-size:14px;min-height:37px;min-width:0}
.booking .button{font-size:12px;min-height:57px;padding:18px 20px;gap:22px}
.stats{padding-block:42px 45px;justify-content:center;gap:0}
.stats>div{flex:1;justify-content:center;padding:0 30px;border-right:1px solid var(--line);gap:22px}
.stats>div:last-child{border-right:0}
.stats strong{font-size:58px;color:var(--terra)}
.stats strong small{font-size:31px}
.stats span{font-size:12px;line-height:1.65;max-width:125px}

/* The hotel, beach and restaurant each get a distinct photographic panel. */
.experiences .section-heading{margin-bottom:48px}
.experience-grid{gap:34px}
.experience-card{display:block;transition:transform .3s}
.experience-card:nth-child(2){padding-top:50px}
.experience-card:nth-child(3){padding-top:12px}
.experience-image{margin-bottom:25px}
.experience-image img{aspect-ratio:.91;object-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.experience-card:nth-child(2) .experience-image{border-radius:180px 180px 2px 2px}
.experience-card:nth-child(2) img{aspect-ratio:.92}
.experience-card:nth-child(3) img{aspect-ratio:.95}
.experience-card .eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:10px}
.experience-card h3{font-size:clamp(28px,2.55vw,39px);margin-bottom:12px}
.experience-card p{font-size:14px;line-height:1.8;max-width:350px;color:#667062}
.card-number{font-size:12px;left:20px;top:19px}
.circle-arrow{height:48px;width:48px;right:17px;bottom:17px;font-size:23px}
.about{background:#ecebdd;position:relative}
.about-grid{gap:9%;align-items:center}
.about-images{min-height:650px;padding:0 44px 65px 0;align-self:center}
.about-tall{height:560px;border-radius:190px 190px 3px 3px;object-position:45% center}
.about-detail{height:260px;width:57%;right:-10px;bottom:0;border:10px solid #ecebdd}
.about-images .image-caption{font-size:9px;max-width:160px;bottom:25px}
.about-copy h2{margin-bottom:29px}
.about-copy p{font-size:14px;line-height:1.85;margin-bottom:17px;max-width:590px}
.about-copy .text-link{margin-top:12px}

/* Subtle line work evokes the coastline without adding another photograph. */
.services{position:relative;background:var(--deep);color:#faf7eb;overflow:hidden;isolation:isolate}
.services::before{content:'';position:absolute;width:580px;height:580px;border:1px solid #ffffff12;border-radius:50%;right:-190px;top:-250px;box-shadow:0 0 0 40px #ffffff05,0 0 0 80px #ffffff04,0 0 0 120px #ffffff03;z-index:-1}
.services em{color:#e7c69e}
.services .section-heading{margin-bottom:40px}
.services .eyebrow{color:#c4d0be}
.service-grid{border-top:1px solid #dae2cd40;padding-top:34px;gap:0}
.service{position:relative;padding:8px 32px 0;border-color:#d1dac52b}
.service-number{position:absolute;right:27px;top:3px;font-size:10px;color:#bdcbb4;letter-spacing:.12em}
.service svg{width:39px;height:39px;display:block;margin-bottom:23px;color:#dec092}
.service h3{font-size:16px;font-family:var(--sans);font-weight:400;line-height:1.65;max-width:210px}
.electric{grid-template-columns:1fr auto;gap:65px;padding-block:38px;align-items:center}
.electric h2{font-size:18px;line-height:1.6;max-width:630px;margin-bottom:9px}
.electric p{font-size:13px;line-height:1.75;max-width:650px}
.electric>div>svg{float:left;width:30px;height:30px;margin:5px 22px 34px 0}
.electric .photo-grid{max-width:270px}
.electric .gallery-item{background:#fff;border:1px solid #e8e8df;padding:5px}
.electric .gallery-item img{aspect-ratio:1.25}
.offer{padding-block:90px}
.offer-grid{gap:0;background:#eee7d9;border:1px solid #e8dfcd;align-items:stretch}
.offer-photo{min-height:690px}
.offer-photo img{object-position:46% center}
.offer-photo>span{font-size:10px;left:25px;bottom:22px}
.offer-copy{padding:48px 48px 42px}
.offer-copy>.eyebrow{font-size:10px;letter-spacing:.14em}
.offer-copy h6{font-size:10px;margin-bottom:13px}
.offer-copy h3{font-size:44px;line-height:1.13;letter-spacing:-.03em;margin-bottom:24px}
.offer-copy p{font-size:14px;line-height:1.8;margin-bottom:16px}
.offer-copy p strong{font-weight:650;color:var(--deep)}
.offer-copy .text-link{margin-top:7px;margin-bottom:0}
.review-grid{gap:24px;align-items:start}
.review{border:1px solid #e2e4d8;background:#fffdf8;padding:27px 28px 22px;box-shadow:0 10px 30px #1b403008}
.quote-mark{font-size:64px;color:var(--terra);height:41px}
.review-preview,.review blockquote{font-size:14px;line-height:1.85;color:#596657}
.review-preview{margin:12px 0 19px}
.review summary{font-size:11px;padding:12px 0;border-bottom:1px solid #dfe3d3}
.review-author{font-size:12px;letter-spacing:.035em;padding-top:16px;margin:0}
.reviews{padding-top:50px}

/* A compact film invitation and an easy-to-read location section. */
.video-section{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:8%;align-items:center;padding-block:70px 100px}
.video-section .section-heading{margin:0;display:block}
.video-section h2{font-size:clamp(40px,3.7vw,56px)}
.video-placeholder{height:390px;box-shadow:14px 14px 0 #e9e9db}
.video-placeholder>img{filter:brightness(.72);object-position:50% center}
.play-icon{width:72px;height:72px;background:#fbf7eb14;backdrop-filter:blur(4px)}
.video-placeholder .media-activate{font-size:13px;gap:15px}
.location{background:#eeeee3;position:relative}
.location-grid{gap:9%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.location-description p{font-size:14px;line-height:1.85;margin-bottom:18px}
.location h2{margin-bottom:26px}
.address{font-size:13px;line-height:1.8;margin:25px 0 17px;padding-left:19px}
.map-placeholder{min-height:470px;border-radius:180px 180px 2px 2px;background:#d9e1d5}
.map-placeholder>img{filter:saturate(.83);object-position:60% center}
.map-card{top:49%;padding:19px 23px;gap:13px}
.map-card span{font-size:14px}.map-card small{font-size:11px}
.map-placeholder>.button{font-size:12px;bottom:27px;min-height:53px;max-width:calc(100% - 38px);white-space:normal;justify-content:center}
.album{padding-block:85px}
.album .section-heading{align-items:end;margin-bottom:35px}
.album .section-heading h2{font-size:48px}
.album-tools{display:flex;align-items:center;gap:25px;flex-shrink:0}
.album-note{font-size:11px;display:block}
.album-controls{display:flex;gap:9px}
.album-controls button{display:grid;place-items:center;width:45px;height:45px;padding:0;border:1px solid #c2ccba;border-radius:50%;background:transparent;color:var(--ink);font-size:21px;line-height:1;transition:background .2s}
.album-controls button>svg{display:block;width:1em;height:1em}
.album-controls button:hover{background:#e9ecdf}
.album-controls button:disabled{opacity:.28;cursor:default}
.album-scroll{padding-block:0 14px;overscroll-behavior-x:contain}
.photo-strip{gap:15px}
.photo-strip .gallery-item{width:255px}
.photo-strip .gallery-item:nth-child(even){margin-top:28px}
.photo-strip img{aspect-ratio:1.1}
.gallery-item .zoom{background:#fffdf3ef;border:0;width:36px;height:36px}

/* Editorial interiors: no text is removed or hidden behind the photos. */
.page-hero{padding-block:58px 60px;gap:7%;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);align-items:center}
.page-hero h1{font-size:clamp(48px,5.35vw,80px);line-height:1.09;margin-bottom:25px}
.page-hero h1 em{font-size:.85em}
.page-hero p{font-size:15px;line-height:1.8;max-width:500px}
.page-hero .eyebrow{font-size:10px;margin-bottom:25px}
.page-hero-image{height:440px;border-radius:2px 160px 2px 2px;overflow:hidden}
.page-hero-image::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#12352c70);pointer-events:none}
.page-hero-image .image-caption{z-index:1;font-size:9px;left:24px;bottom:24px}
.story{gap:7%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.story-copy h3{font-size:43px;line-height:1.15;margin-bottom:23px}
.story-copy h4{font-size:35px;line-height:1.2}
.story-copy h5{font-size:21px;line-height:1.65;color:var(--terra)}
.story-copy p{font-size:15px;line-height:1.9;margin-bottom:20px;color:#5e685e}
.story-copy .text-link{font-size:12px;margin-right:16px}
.story-gallery .photo-grid{gap:15px}
.story-gallery .gallery-item:first-child img{aspect-ratio:1.15}
.story-gallery .gallery-item:nth-child(3n){margin-top:18px}
.story:has(+.gallery-more) .story-gallery{top:125px}
.gallery-more{border-color:#bdc8b8;margin-bottom:70px}
.gallery-more>summary{font-size:14px;padding-block:21px}
.gallery-more>.photo-grid{gap:18px;padding-bottom:28px}
.prose-section{max-width:900px;padding-block:65px}
.prose-section h3{font-size:42px}.prose-section h5{font-size:23px}
.prose-section p{font-size:15px;line-height:1.85}
.page-ristorante .prose-section{background:#eeebdf;border-left:2px solid var(--terra);text-align:left;padding:25px 32px;margin-block:40px 0;max-width:1320px}
.page-ristorante .prose-section h4{font:600 11px/1.6 var(--sans);letter-spacing:.16em;color:var(--terra);margin:0 0 9px}
.page-ristorante .prose-section p{font-size:13px;margin:0;max-width:900px}
.full-gallery .photo-grid{gap:22px}
.full-gallery .gallery-item img{transition:transform .6s}
.destination-grid{gap:35px}.destination-grid h4{font-size:29px;line-height:1.18}
.destination-grid p{font-size:14px;line-height:1.85}
.amenities{gap:26px;padding-block:46px 0}
.amenities>div{font-size:13px;line-height:1.5}
.rates{padding-top:55px}.rates h3{font-size:48px}
.rates p{font-size:15px;line-height:1.9;margin-bottom:18px}
.rates h4{margin:38px 0 21px;font-size:19px}
.rates .table-hint{font-size:12px}
.table-scroll{border:1px solid #c9d3c2;background:#fffdf7;margin-bottom:28px}
.rates-table{font-size:13px;line-height:1.65;min-width:780px}
.rates-table td,.rates-table th{padding:18px 15px;border-color:#dce1d3}
.rates-table th{font-size:12px;padding-block:20px;background:var(--deep)}
.rates-table tr:nth-child(4n+2),.rates-table tr:nth-child(4n+3){background:#f0f1e8}
.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%;align-items:start}
.contact-info{padding:22px 5px 0 0}
.contact-info>.eyebrow{color:var(--terra);margin-bottom:25px}
.contact-grid h4{font-size:34px;line-height:1.18;margin-bottom:24px}
.contact-grid p{font-size:14px;line-height:1.85}
.contact-info li{margin-bottom:24px}
.contact-info a{font-size:14px}
.contact-form-wrap{background:#f0eee3;padding:38px 38px 34px;border:1px solid #e0e4d6;box-shadow:12px 12px 0 #e5e8dc70}
.contact-form-wrap>h4{font-size:32px}
.contact-form-wrap>p{font-size:12px;line-height:1.7}
.contact-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}
.contact-form>div:nth-of-type(n+3),.contact-form>p{grid-column:1/-1}
.contact-form>div{min-width:0}
.contact-form label{font-size:12px;margin-bottom:8px}
.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{background:#fffdf8;font-size:15px;padding:14px 15px;margin-bottom:22px;border-color:#cbd3c1;min-height:50px;transition:border-color .2s,box-shadow .2s}
.contact-form input:focus,.contact-form textarea:focus{border-color:#547f62;box-shadow:0 0 0 3px #58764f12}
.contact-form input[type=checkbox]{width:18px;height:18px;margin-right:7px}
.contact-form p label,.contact-form p a{font-size:12px;line-height:1.8}
.contact-form .button{grid-column:1/-1;justify-self:start;margin-top:8px;font-size:13px}
.contact-form .form-status{font-size:13px;line-height:1.7;overflow-wrap:normal}

/* A warm invitation leads into a dark, legible footer. */
.footer-invitation{background:#e8e7d9;color:var(--deep);padding-block:65px;position:relative;overflow:hidden}
.footer-invitation .eyebrow{font-size:10px;color:#64705d}
.invitation-row{gap:45px}.invitation-row h2{font-size:clamp(43px,4.4vw,68px);line-height:1.15}
.invitation-row em{color:var(--terra)}
.invitation-row .button{background:var(--deep);color:#fffdf0;border-color:var(--deep);flex-shrink:0}
.site-footer{background:var(--deep);color:#eef0e3;padding:68px 0 31px}
.footer-grid{grid-template-columns:1.25fr .8fr 1fr;gap:70px}
.footer-column:first-child p{font-size:12px;color:#c6d2bd;line-height:1.9}
.footer-brand{width:145px;margin-bottom:24px}
.footer-column .footer-brand img{width:145px;height:auto}
.footer-column img[src*="youritaly"]{margin-top:9px;width:140px;height:39px}
.footer-column h6{font-size:10px;font-weight:600;letter-spacing:.16em;margin-bottom:23px;color:#c4d0bc}
.footer-column{font-size:12px;line-height:1.9}
.footer-column>a:has(img):not(.footer-brand){margin-right:5px}
.footer-column img{width:34px;height:34px}
.footer-column a:hover{color:#e3bc8c}
.footer-column li{padding-bottom:14px}
.partners{border-color:#aab99d30;gap:38px;padding-top:27px;margin-top:38px;flex-wrap:wrap}
.partners a{font-size:12px;gap:16px}
.legal{color:#c2cdbb;border-color:#aab99d30;margin:25px 0 0;padding-top:23px;font-size:10px;line-height:1.9}
.legal a{color:#dbe3d3;text-decoration-color:#8b9e7f}

@media(min-width:1720px){.hero-copy{padding-left:100px}.home-hero{min-height:710px}.hero-copy h1{font-size:112px}}
@media(max-width:1320px){
 .site-header{gap:24px}.header-book{display:none}.main-nav{gap:23px}
 .home-hero{min-height:650px}.hero-copy{padding-top:72px;padding-bottom:90px;max-width:780px}
 .hero-copy h1{font-size:clamp(66px,7.8vw,103px)}.hero-sea{width:190px;right:28px;bottom:42px}
 .booking{grid-template-columns:minmax(120px,1.1fr) minmax(110px,1fr) minmax(110px,1fr) minmax(75px,.7fr) auto;gap:17px;padding:23px}
 .booking label{padding-left:15px}.booking .button{font-size:11px;gap:18px;padding:16px}.booking p{font-size:10px}
 .footer-grid{gap:45px}.offer-copy{padding:38px}.offer-copy h3{font-size:38px}
}
@media(max-width:1050px){
 .site-header{height:88px;gap:20px}.brand,.brand img{width:126px}.main-nav{gap:17px}.main-nav>a{font-size:12px}.header-actions{gap:15px}.languages{gap:9px;font-size:9px}
 .home-hero{min-height:635px}.hero-copy{padding:62px 6% 96px;max-width:760px}.hero-copy h1{font-size:clamp(64px,8.4vw,86px);max-width:650px}.hero-copy>p{font-size:14px;max-width:460px}.hero-sea{width:170px;right:25px;bottom:44px}.hero-kicker{font-size:9px}.hero-footnote{max-width:400px;font-size:8px}.hero-image-label{font-size:8px}
 .booking{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 25px;padding:24px}.booking-heading{grid-column:1/-1;display:flex;gap:22px;align-items:center}.booking-heading .eyebrow{margin:0}.booking p{max-width:none}.booking label{padding-left:0;border-left:0}.booking .button{grid-column:1/-1;justify-content:center;font-size:12px;min-height:49px;padding:14px}
 .stats>div{padding-inline:20px;gap:15px}.stats strong{font-size:50px}.stats span{font-size:11px}
 .experience-grid{gap:23px}.experience-card h3{font-size:31px}.experience-card p{font-size:13px}
 .about-grid{gap:7%}.about-images{min-height:560px;padding-right:30px}.about-tall{height:490px}.about-detail{height:200px;width:60%}.about-copy p{font-size:13px}
 .service{padding-inline:22px}.service h3{font-size:14px}.service-number{right:20px}.offer-photo{min-height:690px}.offer-copy{padding:32px}.offer-copy p{font-size:13px}.offer-copy h3{font-size:35px}
 .review-grid{gap:17px}.review{padding:23px 21px}.review-preview,.review blockquote{font-size:13px}
 .video-section{gap:7%;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.video-placeholder{height:340px}.video-section h2{font-size:43px}
 .map-placeholder{min-height:410px}.location-grid{gap:7%}.location-description p{font-size:13px}.map-card{padding:16px 20px}.map-card span{font-size:13px}
 .page-hero h1{font-size:clamp(47px,5.6vw,60px)}.page-hero-image{height:385px}.page-hero p{font-size:14px}
 .story-copy h3{font-size:38px}.story-copy p{font-size:14px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-grid{gap:6%}.contact-form-wrap{padding:29px}.contact-form{grid-template-columns:minmax(0,1fr);gap:0}.contact-form>div{grid-column:1/-1}.contact-grid h4{font-size:30px}.contact-grid p,.contact-info a{font-size:13px}
 .footer-grid{gap:35px}.footer-column:first-child p,.footer-column{font-size:11px}.partners a{font-size:11px}
}
@media(max-width:800px){
 .site-header{height:82px;padding-block:7px}.brand,.brand img{width:120px}.header-actions{gap:18px;margin-left:auto}.languages{gap:12px;font-size:10px}.menu-toggle{display:block}
 .main-nav{display:none;position:fixed;inset:82px 0 auto;background:var(--paper);height:calc(100dvh - 82px);padding:24px var(--gutter) 65px;margin:0;overflow-y:auto;z-index:49}
 .menu-open .main-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
 .main-nav>a{font:34px/1.25 var(--serif);white-space:normal;padding:13px 0;border-bottom:1px solid var(--line);width:100%;flex-shrink:0}
 .main-nav>a::after{display:none}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .menu-extra{display:flex;flex-direction:column;align-items:start;gap:18px;padding-top:25px;flex-shrink:0}.menu-extra>span{font-size:10px;letter-spacing:.05em}.menu-extra>a:last-child{font-size:14px}.menu-extra .button{font-size:12px;min-height:50px}
 .page-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:34px}.page-hero h1{font-size:clamp(47px,8vw,66px);max-width:670px}.page-hero p{font-size:14px;max-width:650px}.page-hero .eyebrow{margin-bottom:20px}.page-hero-image{height:370px;border-radius:2px 120px 2px 2px}
 .story{grid-template-columns:minmax(0,1fr);gap:35px}.story:has(+.gallery-more) .story-gallery{position:static}.story-copy p{font-size:15px}.story-gallery .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-gallery .gallery-item:first-child{grid-column:1/-1}.story-gallery .gallery-item:first-child img{aspect-ratio:1.8}.story-gallery .gallery-item:nth-child(3n){margin-top:0}
 .contact-grid{grid-template-columns:minmax(0,1fr);gap:30px}.contact-info{padding-top:0}.contact-info>div{max-width:100%}.contact-grid h4{font-size:31px}.contact-grid p,.contact-info a{font-size:14px}.contact-form-wrap{padding:34px}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.contact-form>div:nth-of-type(-n+2){grid-column:auto}
 .footer-grid{grid-template-columns:1fr 1fr;gap:38px}.footer-column:first-child{grid-column:1/-1;max-width:620px}.footer-column:first-child p,.footer-column{font-size:12px}.footer-column:first-child br{display:initial}.partners{gap:15px 30px}.legal{font-size:10px}
}
/* Reserve room for the sea postcard below the copy on small tablets. */
@media(min-width:621px) and (max-width:760px){.hero-copy{padding-bottom:220px}}
@media(max-width:620px){
 :root{--gutter:23px}body{font-size:15px}h2{font-size:42px}.section{padding-block:65px}.section-heading{margin-bottom:30px}.eyebrow{font-size:10px;margin-bottom:18px}
 .topline{height:28px;font-size:7px;letter-spacing:.05em}.topline i{padding:0 4px}.topline a{font-size:8px}.site-header{height:79px}.brand,.brand img{width:118px}.header-actions{gap:12px}.languages{gap:10px;font-size:9px}.main-nav{top:79px;height:calc(100dvh - 79px)}
 .home-hero{width:calc(100% - 20px);margin:10px auto 0;min-height:635px;display:block}.hero-copy{padding:42px 25px 190px;max-width:none}.hero-copy h1{font-size:clamp(53px,10.4vw,66px);line-height:1.07;margin-bottom:23px;letter-spacing:-.045em;max-width:100%}.hero-copy h1 em{font-size:.86em}.hero-kicker{font-size:7px;gap:8px;letter-spacing:.1em;display:flex;flex-wrap:wrap;margin-bottom:27px}.hero-kicker .stars{font-size:8px}.hero-copy>p{font-size:13px;line-height:1.85;max-width:350px;margin-bottom:27px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-actions .button{padding:16px 19px;font-size:12px;min-width:150px;min-height:51px}.round-link{font-size:10px}.round-link>span{width:35px;height:35px}.hero-footnote{display:block;font-size:7px;letter-spacing:.1em;max-width:210px;line-height:1.8;margin-top:30px}.hero-visual{height:auto;min-height:0;margin:0}.hero-main-image{object-position:51% center}.hero-visual::after{background:linear-gradient(90deg,#0c2b25b8,#0c2b2530),linear-gradient(0deg,#0c2b2570,transparent 60%)}.hero-image-label{display:none}.hero-sea{width:140px;right:18px;bottom:42px;padding:6px;transform:rotate(4deg)}.hero-sea>span{font-size:8px;padding:5px 3px 0}.hero-sea i{font-size:10px}
 .booking-wrap{margin-top:-24px;width:calc(100% - 46px)}.booking{padding:22px 20px;gap:17px 18px;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:0 12px 30px #153a300e}.booking-heading{display:block}.booking-heading .eyebrow{font-size:10px;margin-bottom:5px;letter-spacing:.1em}.booking p{font-size:11px}.booking label{font-size:10px;min-width:0}.booking input,.booking select{font-size:16px;letter-spacing:-.03em;min-height:37px;width:100%;padding:4px 0}.booking label:has(select){grid-column:1/-1;display:flex;align-items:center;border-top:1px solid var(--line);padding-top:10px;gap:20px}.booking select{max-width:150px;margin-left:auto}.booking .button{font-size:12px;min-height:52px;gap:17px;padding:15px}
 .stats{padding-block:31px;gap:0}.stats>div{display:block;padding:0 12px;text-align:center}.stats>div:first-child{padding-left:0}.stats>div:last-child{padding-right:0}.stats strong{font-size:42px}.stats strong small{font-size:23px}.stats span{font-size:10px;line-height:1.6;max-width:100px;margin:8px auto 0;display:block}
 .experience-grid{grid-template-columns:minmax(0,1fr);gap:35px}.experience-card:nth-child(2),.experience-card:nth-child(3){padding:0}.experience-card:nth-child(2){margin-left:32px}.experience-card:nth-child(3){margin-right:0}.experience-image{margin-bottom:20px}.experience-image img,.experience-card:nth-child(3) img{aspect-ratio:1.24}.experience-card:nth-child(2) img{aspect-ratio:1.05}.experience-card:nth-child(2) .experience-image{border-radius:150px 150px 2px 2px}.experience-card h3{font-size:33px;line-height:1.18;margin-bottom:10px}.experience-card p{font-size:14px;line-height:1.8;margin-bottom:0}.experience-card .eyebrow{font-size:9px}.circle-arrow{width:44px;height:44px}
 .about-grid{grid-template-columns:minmax(0,1fr);gap:37px}.about-images{min-height:445px;padding-right:42px;align-self:auto}.about-tall{height:385px;border-radius:150px 150px 2px 2px}.about-detail{height:180px;width:56%;right:0;border-width:7px}.about-images .image-caption{max-width:125px;font-size:8px;bottom:17px}.about-copy p{font-size:14px;line-height:1.85;margin-bottom:16px}.about-copy h2{font-size:41px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0;padding-top:25px}.service{padding:4px 18px 0}.service:nth-child(odd){padding-left:0;border-left:0}.service svg{width:33px;height:33px;margin-bottom:20px}.service h3{font-size:14px;line-height:1.6}.service-number{font-size:9px;right:16px;top:6px}.service:nth-child(even) .service-number{right:0}.services h2{font-size:40px}
 .electric{grid-template-columns:minmax(0,1fr);gap:22px;padding-block:31px}.electric h2{font-size:16px;line-height:1.5}.electric p{font-size:13px}.electric>div>svg{margin:3px 14px 34px 0;width:26px;height:26px}.electric .photo-grid{max-width:230px;justify-self:start;margin-left:40px}.electric .gallery-item img{aspect-ratio:1.4}
 .offer{padding-block:65px}.offer-grid{grid-template-columns:minmax(0,1fr);gap:0}.offer-photo{height:310px;min-height:0}.offer-copy{padding:30px 25px}.offer-copy h3{font-size:36px;line-height:1.16}.offer-copy p{font-size:13px;margin-bottom:14px}.offer-copy>.eyebrow{font-size:9px}.offer-copy h6{font-size:9px}
 .review-grid{grid-template-columns:minmax(0,1fr);gap:20px}.review{padding:27px 26px}.review-preview,.review blockquote{font-size:14px}.reviews{padding-top:10px}.quote-mark{height:36px}
 .video-section{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:45px 65px}.video-section h2{font-size:39px;max-width:450px}.video-placeholder{height:275px;box-shadow:9px 9px 0 #e6e8d8}.play-icon{width:62px;height:62px;font-size:31px}.video-placeholder .media-activate{font-size:12px}
 .location-grid{grid-template-columns:minmax(0,1fr);gap:35px}.location-description p{font-size:14px}.location h2{font-size:41px;margin-bottom:24px}.address{font-size:13px}.map-placeholder{min-height:385px;border-radius:150px 150px 2px 2px}.map-card{padding:17px 20px}.map-placeholder>.button{bottom:22px;width:calc(100% - 40px);font-size:12px;max-width:340px;padding:15px 13px;gap:15px}
 .album{padding-block:60px}.album .section-heading{align-items:end;gap:15px;margin-bottom:28px}.album .section-heading h2{font-size:35px}.album-tools{gap:0}.album-note{display:none}.album-controls{gap:7px}.album-controls button{width:37px;height:37px;font-size:19px}.photo-strip{gap:11px}.photo-strip .gallery-item{width:205px}.photo-strip .gallery-item:nth-child(even){margin-top:20px}
 .page-hero{padding-block:32px 38px;gap:26px}.page-hero h1{font-size:clamp(46px,8.9vw,57px);line-height:1.1;margin-bottom:22px}.page-hero p{font-size:14px}.page-hero .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:22px}.page-hero-image{height:290px;border-radius:2px 95px 2px 2px}.page-hero-image .image-caption{font-size:8px;left:20px;bottom:18px}
 .story-copy h3{font-size:36px}.story-copy h4{font-size:30px}.story-copy h5{font-size:20px}.story-copy p{font-size:14px}.story-copy .text-link{font-size:12px;max-width:100%}.story-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-gallery .gallery-item:first-child img{aspect-ratio:1.3}.gallery-more{margin-bottom:40px}.gallery-more>summary{font-size:13px}.gallery-more>.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full-gallery .gallery-item:first-child{grid-column:1/-1;grid-row:auto}.full-gallery .gallery-item:first-child img{aspect-ratio:1.3;height:auto}.full-gallery h2{font-size:34px}
 .prose-section h3{font-size:35px}.prose-section h5{font-size:21px}.prose-section p{font-size:14px}.page-ristorante .prose-section{padding:23px;margin-top:30px}.page-ristorante .prose-section p{font-size:13px}.destination-grid{grid-template-columns:minmax(0,1fr);gap:26px}.destination-grid h4{font-size:29px;margin-bottom:12px}.destination-grid p{font-size:14px}.destinations h3,.destinations h2{font-size:38px}
 .amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 19px;padding-top:34px}.amenities>div{font-size:12px;gap:11px}.amenities svg{width:23px;height:23px}.rates{padding-top:40px}.rates h3{font-size:42px}.rates h4{font-size:17px;line-height:1.6}.rates p{font-size:14px}.rates-table{min-width:760px;font-size:12px}.rates-table th{font-size:11px}.rates-table td,.rates-table th{padding:16px 13px}.rates .table-hint{font-size:11px}
 .contact-grid{gap:28px}.contact-info{padding:0}.contact-grid h4{font-size:30px}.contact-info>.eyebrow{font-size:10px;margin-bottom:20px}.contact-form-wrap{padding:27px 22px 25px;box-shadow:7px 7px 0 #e5e8dc70}.contact-form-wrap>h4{font-size:30px}.contact-form{grid-template-columns:minmax(0,1fr);gap:0}.contact-form>div:nth-of-type(-n+2){grid-column:1/-1}.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{font-size:16px;padding:13px 12px}.contact-form label{font-size:12px}.contact-form p label,.contact-form p a{font-size:11px}.contact-form .button{justify-content:center;justify-self:stretch;font-size:12px;width:100%;margin-top:12px}.contact-form-wrap>p{font-size:11px}.contact-info a{font-size:14px}
 .footer-invitation{padding-block:50px}.footer-invitation .eyebrow{font-size:9px}.invitation-row{display:block}.invitation-row h2{font-size:42px;margin-bottom:27px}.invitation-row .button{font-size:12px;padding:16px 21px;min-height:53px}.site-footer{padding:45px 0 30px}.footer-grid{grid-template-columns:minmax(0,1fr);gap:32px}.footer-column:first-child{grid-column:auto}.footer-column,.footer-column:first-child p{font-size:12px}.footer-column h6{font-size:10px;margin-bottom:18px}.footer-brand{width:140px;margin-bottom:21px}.footer-column .footer-brand img{width:140px}.footer-column img[src*="youritaly"]{margin-top:4px}.partners{margin-top:30px;padding-top:23px;gap:17px;flex-direction:column}.partners a{font-size:11px;line-height:1.8}.legal{font-size:10px;margin-top:23px;padding-top:22px}
}
@media(max-width:370px){
 :root{--gutter:18px}.site-header{padding-inline:18px}.brand,.brand img{width:108px}.languages{font-size:8px;gap:8px}.header-actions{gap:8px}.topline{font-size:6px}.topline a{font-size:7px}
 .hero-copy{padding:36px 20px 175px}.hero-copy h1{font-size:50px}.hero-copy>p{font-size:12px}.hero-kicker{font-size:6.5px;letter-spacing:.07em}.hero-actions{gap:15px}.hero-actions .button{min-width:145px;padding:15px 17px}.round-link{font-size:9px}.hero-footnote{max-width:190px}.hero-sea{width:123px;right:17px;bottom:42px}.home-hero{min-height:640px}.hero-copy h1 em{font-size:.83em}
 .booking-wrap{width:calc(100% - 36px)}.booking{padding:20px 16px;gap:16px 10px}.booking input{font-size:14px;letter-spacing:-.07em}.booking .button{font-size:11px;padding:14px 10px}.stats strong{font-size:36px}.stats strong small{font-size:20px}.stats span{font-size:9px}.stats>div{padding-inline:9px}
 h2{font-size:37px}.about-copy h2,.location h2,.services h2{font-size:37px}.experience-card h3{font-size:29px}.experience-card p{font-size:13px}.section-heading{gap:12px}.offer-copy{padding:25px 20px}.offer-copy h3{font-size:31px}.page-hero h1{font-size:45px}.page-hero p{font-size:13px}.album .section-heading h2{font-size:30px}.album-controls button{width:33px;height:33px}.album-controls{gap:5px}.contact-form-wrap{padding:24px 17px}.contact-grid h4{font-size:27px}.invitation-row h2{font-size:37px}.amenities>div{font-size:11px}.map-card{padding:16px}.map-card span{font-size:12px}.map-placeholder>.button{font-size:11px;gap:10px}.partners a{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.album-scroll{scroll-behavior:auto}.experience-card,.experience-image img{transition:none}}

.lightbox figure img{touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.lightbox figure img.is-dragging{cursor:grabbing}
.lightbox .lightbox-close{display:grid;place-items:center;padding:0;line-height:1}
.lightbox-close svg{display:block;width:22px;height:22px;pointer-events:none}

.album-scroll{scroll-padding-inline:var(--gutter)}

/* Keep the technical-cookie notice clear of floating controls at the right edge. */
.cookie-notice{margin:18px 0 0;padding:18px max(0px,calc(160px - var(--gutter))) 0 0;border-top:1px solid #aab99d30;color:#c2cdbb;font-size:12px;line-height:1.8;overflow-wrap:normal}
@media(max-width:760px){.cookie-notice{padding-right:max(0px,calc(88px - var(--gutter)))}}


/* Contemporary Mediterranean layout and accessible, progressive controls. */
:root{--paper:#faf9f5;--cream:#eeeae0;--ink:#193e36;--muted:#59685f;--deep:#123c34;--olive:#214e41;--terra:#a05236;--line:#dce1d7;--header-height:100px;--section-nav-height:0px}
/* Keep a comfortable gap below both sticky bars for every kind of anchor navigation. */
:root{--anchor-gap:clamp(24px,3vh,40px)}
html{scroll-padding-top:calc(var(--header-height) + var(--section-nav-height) + var(--anchor-gap))}
@media(max-width:620px){:root{--anchor-gap:clamp(20px,3vh,28px)}}
@media(max-height:500px){:root{--anchor-gap:clamp(12px,3vh,20px)}}
body{font-size:16px}
.button{border-radius:7px;font-weight:600;min-height:52px;box-shadow:0 4px 12px #13382e08}
.button:active{transform:translateY(0)}
.button:focus-visible,.text-link:focus-visible{outline:3px solid #b5753d;outline-offset:4px}
.site-header{background:#fffefbea;border-bottom-color:#dce1d785;backdrop-filter:blur(20px)}
.main-nav>a{padding-block:16px}
.languages a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:28px}
.languages{gap:3px}
.menu-toggle{min-width:44px;min-height:44px}
.home-hero{border-radius:12px;min-height:680px;box-shadow:0 10px 35px #13382e0a}
.hero-copy{padding-top:78px;padding-bottom:104px}
.hero-copy h1{font-size:clamp(72px,7.6vw,116px);letter-spacing:-.045em;line-height:1.02}
.hero-copy h1 em{font-family:var(--serif);font-style:normal;color:#f2d8af;font-size:1em}
.hero-copy>p{font-size:16px;line-height:1.75}
.hero-actions .button{min-height:55px;padding-inline:25px}
.hero-footnote{letter-spacing:.14em;font-size:10px}
.hero-image-label{top:32px;right:32px;padding:9px 12px;border:1px solid #ffffff60;border-radius:3px;writing-mode:initial;transform:none;letter-spacing:.12em;background:#163e3330}
.hero-sea{transform:none;width:225px;right:35px;bottom:55px;padding:7px;border-radius:6px;box-shadow:0 10px 40px #08291b35}
.hero-sea img{border-radius:3px;aspect-ratio:1.7;object-fit:cover}
.hero-sea>span{padding:8px 8px 3px;font-size:12px}
.hero-sea i{font-size:12px}
.booking-wrap{margin-top:-34px}
.booking{border-radius:10px;border-color:#dde2d5;padding:27px 30px 19px;gap:14px 24px;box-shadow:0 15px 45px #173c3212}
.booking input,.booking select{min-height:44px}
.booking-note{grid-column:1/-1!important;font-size:11px!important;line-height:1.5!important;max-width:none!important;text-align:right;margin:0!important;color:var(--muted)}
.stats{padding-block:45px 22px}
.stats strong{font-size:53px;color:var(--deep)}
.stats span{font-size:13px}
.experience-grid{gap:24px}
.experience-card,.experience-card:nth-child(2),.experience-card:nth-child(3){padding:0;margin:0;background:#fffefb;border:1px solid #e0e4da;border-radius:10px;overflow:hidden}
.experience-image,.experience-card:nth-child(2) .experience-image{border-radius:0;margin-bottom:0}
.experience-image img,.experience-card:nth-child(2) img,.experience-card:nth-child(3) img{aspect-ratio:1.08}
.experience-card>.eyebrow{margin:25px 25px 10px}
.experience-card>h3{margin:0 25px 13px;font-size:clamp(27px,2.25vw,35px)}
.experience-card>p{margin:0 25px 27px;font-size:14px;max-width:none}
.experience-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #173c320d}
.circle-arrow{border-radius:5px;background:#fffef5;backdrop-filter:none}
.card-number{font-weight:600;background:#fffef5;color:var(--deep);padding:5px 9px;border-radius:3px;line-height:1.5}
.about{background:#eff0e7}
.about-tall{border-radius:9px;object-position:center}
.about-detail{border-radius:8px;border-color:#eff0e7;transform:rotate(3deg)}
.about-copy p,.story-copy p,.prose-section p{font-size:15px;line-height:1.85}
.service-grid{gap:16px;border:0;padding:0}
.service,.service:first-child,.service:nth-child(3){padding:27px 24px;border:1px solid #dce1d5;background:#f0f2e9;border-radius:8px}
.service h3{font-size:16px;line-height:1.6;max-width:250px}
.service svg{width:34px;height:34px;margin-bottom:26px}
.service-number{top:21px;right:20px;color:#748271}
.electric{border-radius:9px}
.offer-photo{border-radius:10px 0 0 10px}
.offer-copy{border-radius:0 10px 10px 0}
.review{border-radius:9px;background:#fffefb;border-color:#e0e4da}
.review-preview,.review blockquote{font-size:15px}
.review summary{min-height:44px;display:flex;align-items:center}
.page-hero{padding-block:47px 48px;gap:7%;align-items:center}
.page-hero h1{font-size:clamp(51px,5.25vw,78px);line-height:1.08}
.page-hero h1 em{font-family:var(--serif);font-style:normal;font-size:1em}
.page-hero p{font-size:15px;line-height:1.85}
.page-hero-image{height:450px;border-radius:9px;box-shadow:0 20px 45px #173c3210}
.page-hero-image::after{border-radius:9px}
.page-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 23px;margin-top:26px}
.page-hero-actions .button{font-size:13px;padding:17px 21px}
.page-hero-actions .text-link{margin:0;min-height:48px}
.section-nav{position:sticky;top:var(--header-height);z-index:30;background:#faf9f5f5;backdrop-filter:blur(16px);border-block:1px solid var(--line)}
.section-nav-inner{display:flex;gap:7px;align-items:center;overflow:auto;scrollbar-width:thin;scrollbar-color:#aab5a5 transparent;padding-block:9px;scroll-padding-inline:10px}
.section-nav a{flex-shrink:0;font-size:12px;font-weight:500;line-height:1.4;min-height:42px;display:flex;align-items:center;padding:10px 19px;border-radius:5px;white-space:nowrap}
.section-nav a:hover{background:#e9eee2}
.section-nav a[aria-current="location"]{background:var(--deep);color:#fffef5}
.section-nav .section-nav-home{font-family:var(--serif);font-size:25px;margin-right:auto;padding-left:0;border-radius:0}
.story-gallery .gallery-item,.photo-grid .gallery-item{border-radius:7px;overflow:hidden}
.full-gallery .photo-grid{gap:16px}
.full-gallery .gallery-item .zoom{border-radius:4px}
.gallery-more{border-radius:7px;background:#eef0e6;padding-inline:24px}
.gallery-more>summary{min-height:64px}
.gallery-more>summary:focus-visible{outline-offset:0}
.destination-grid>div{border:1px solid var(--line);border-radius:7px;background:#fffefb;padding:25px}
.video-placeholder,.map-placeholder{border-radius:9px;overflow:hidden}
.media-placeholder{isolation:isolate}
.embed-notice{position:absolute;bottom:0;left:0;right:0;padding:12px 20px 15px;background:linear-gradient(transparent,#092b26e8 28%);color:#fffef6;font-size:11px;line-height:1.55;z-index:3;text-align:center}
.embed-notice p{margin:8px auto 3px;max-width:480px;font-size:11px;line-height:1.55}
.embed-notice a{text-decoration:underline;text-underline-offset:3px}
.map-placeholder>.button{bottom:115px}
.map-placeholder .map-card{top:43%;border-radius:7px}
.video-placeholder .media-activate{margin-top:-35px}
.map-placeholder:has(iframe),.video-placeholder:has(iframe){background:#e3e8dc}
.faq-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9%;border-top:1px solid var(--line)}
.faq-intro h2{font-size:clamp(37px,3.5vw,53px);max-width:480px;margin-bottom:23px}
.faq-intro>p{font-size:15px;color:var(--muted);max-width:360px}
.faq-item{border-bottom:1px solid #d1dacb}
.faq-item:first-child{border-top:1px solid #d1dacb}
.faq-item summary{display:grid;grid-template-columns:25px minmax(0,1fr) 22px;gap:17px;align-items:start;list-style:none;cursor:pointer;padding:23px 0;font-size:16px;line-height:1.6;font-weight:600}
.faq-item summary::-webkit-details-marker{display:none}

.faq-icon{font-size:25px;line-height:1;transition:transform .2s;font-weight:400}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-item>p{font-size:14px;line-height:1.9;padding:0 35px 22px 42px;margin:0;color:var(--muted)}
.rates>div{min-width:0}
.rates-intro{font-size:15px!important;margin:14px 0 26px;max-width:700px}
.rate-controls{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;padding:23px;background:#eaf0e5;border:1px solid #dce4d3;border-radius:9px;margin-bottom:30px;max-width:800px}
.rate-controls label{display:block;font-size:12px;font-weight:600}
.rate-controls select{display:block;width:100%;margin-top:8px;min-height:49px;border:1px solid #cad5c4;border-radius:5px;background:#fffefb;padding:10px 35px 10px 14px;color:var(--deep);font-size:15px}
.rates-table{font-size:13px}
.rates-table th{font-size:12px}
.table-scroll{border-radius:8px}
.table-scroll th:first-child{min-width:45px}
.rate-cards{display:none}
.rate-table-title{font:600 13px/1.5 var(--sans);margin:10px 0 15px;color:var(--muted)}
.contact-form-wrap{border-radius:10px;border:1px solid #dce1d5;background:#fffefb;box-shadow:0 15px 50px #173c3209}
.contact-form-wrap>h4{font-size:clamp(30px,2.6vw,40px)}
.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea,.contact-form select{border-radius:5px;border-color:#cdd8c9;background:#f7f8f2;min-height:49px}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{background:#fffefb}
.contact-form label{font-size:13px}
.contact-form .form-status:not(:empty){border-radius:6px;padding:16px 18px;border:1px solid #cbd8c4;background:#f0f5e9}
.contact-form .form-status[data-state=error]{background:#fff3ed;border-color:#e4b8a6}
.contact-info>ul>li{padding-bottom:27px;border-bottom:1px solid var(--line);margin-bottom:27px}
.contact-info h4{font:600 14px/1.6 var(--sans);letter-spacing:0;margin-bottom:12px}
.contact-info a{display:inline-block;padding-block:5px;overflow-wrap:normal}
.stay-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px;min-width:0;border:0;padding:0;margin:4px 0 24px}
.stay-fields legend{display:flex;gap:12px;align-items:center;font-size:15px;font-weight:600;padding:0 0 17px;width:100%}
.stay-fields legend span{font-size:10px;font-weight:400;color:var(--muted);border:1px solid #d1dcca;border-radius:4px;padding:2px 7px;margin-left:auto}
.stay-fields>div{min-width:0}
.stay-fields>div:nth-of-type(3){grid-column:1/-1;display:flex;align-items:center;gap:20px}
.stay-fields>div:nth-of-type(3) label{margin:0}
.stay-fields select{padding:8px 12px;margin-left:auto;min-width:145px;max-width:100%;color:var(--ink);font-size:16px}
.contact-form .stay-summary{grid-column:1/-1;font-size:12px;margin:10px 0 0;color:var(--muted)}
.stay-summary:empty{display:none}
.form-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.footer-invitation{background:#e7eddf}
.site-footer{background:#123c34}
.footer-navigation{display:flex;align-items:center;gap:13px 27px;flex-wrap:wrap;padding:0 0 30px;margin-bottom:38px;border-bottom:1px solid #afc5b333}
.footer-navigation .eyebrow{margin:0 auto 0 0;color:#c4d0bc;font-size:10px}
.footer-navigation a{font-size:13px;min-height:44px;display:flex;align-items:center}
.footer-navigation a:hover{text-decoration:underline;text-underline-offset:5px}
.legal{font-size:11px;line-height:1.9}
.cookie-notice{font-size:12px;line-height:1.9}
.lightbox{background:#102e28fa}
.lightbox::backdrop{background:#102e28}
.lightbox figure img{border-radius:5px;box-shadow:0 15px 50px #0004}
.lightbox button{border-radius:5px;background:#ffffff0c;min-height:46px;min-width:46px}
.lightbox figcaption{font-size:13px}
[hidden]{display:none!important}
@media(min-width:801px) and (max-width:1050px){:root{--header-height:88px}.site-header{gap:12px}.main-nav{gap:15px}.languages a{min-width:25px}.header-actions{gap:5px}.page-hero{gap:5%}.page-hero h1{font-size:53px}.page-hero-image{height:410px}}
@media(max-width:1050px){
 .hero-copy{padding-top:67px;max-width:710px}.hero-copy h1{font-size:clamp(65px,8.7vw,91px)}.hero-copy>p{font-size:15px;max-width:430px}.hero-sea{width:180px;right:28px}
 .booking{padding:25px}.booking-note{text-align:center}.booking label{padding:0}
 .experience-card>.eyebrow{margin-inline:20px}.experience-card>h3{margin-inline:20px;font-size:29px}.experience-card>p{margin-inline:20px;font-size:13px}
 .service,.service:first-child,.service:nth-child(3){padding:24px 18px}.service h3{font-size:14px}.faq-section{gap:6%}
}
@media(max-width:800px){
 :root{--header-height:82px}
 .section-nav .section-nav-home{display:none}.section-nav-inner{width:100%;padding-inline:var(--gutter)}.section-nav a{font-size:12px;padding-inline:15px}
 .page-hero{padding-block:33px;gap:30px}.page-hero h1{font-size:clamp(47px,7.5vw,65px)}.page-hero-image{height:380px}.page-hero-actions{margin-top:23px}
 .faq-section{grid-template-columns:minmax(0,1fr);gap:22px}.faq-intro h2{max-width:550px}.faq-intro>p{max-width:550px}
 .footer-navigation{gap:5px 26px;padding-bottom:24px;margin-bottom:30px}.footer-navigation .eyebrow{flex-basis:100%;margin-bottom:10px}
}
@media(max-width:760px){
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.experience-grid{gap:24px}.experience-card>h3{font-size:32px}.experience-card>p{font-size:15px}
 .hero-copy{padding-bottom:225px}.hero-copy h1{font-size:clamp(60px,10.4vw,82px)}.hero-sea{width:177px}
 .offer-photo{border-radius:9px 9px 0 0}.offer-copy{border-radius:0 0 9px 9px}
 .rate-controls{padding:20px;gap:17px;grid-template-columns:minmax(0,1fr)}
 .rates-responsive .table-scroll,.rates-responsive>.table-hint{display:none}
 .rate-cards{display:block;margin-bottom:28px}
 .rate-card{background:#fffefb;border:1px solid #d6dfce;border-radius:7px;margin-bottom:11px;overflow:hidden}
 .rate-card>summary{padding:17px;display:flex;gap:13px;align-items:center;font-size:13px;line-height:1.7;cursor:pointer;list-style:none}
 .rate-card>summary::-webkit-details-marker{display:none}
 .rate-card>summary::after{content:'+';margin-left:auto;font-size:22px}
 .rate-card[open]>summary::after{content:'−'}
 .rate-card>summary b{border:1px solid #c4d5b9;border-radius:4px;min-width:32px;min-height:32px;text-align:center;line-height:30px;font-size:13px}
 .rate-card>summary span{min-width:0;white-space:pre-line}
 .rate-card[open]>summary{background:#eaf0e3}
 .rate-treatment{padding:20px 18px}.rate-treatment+.rate-treatment{border-top:1px solid #dae1d4}
 .rate-treatment h5{font:600 15px/1.6 var(--sans);margin-bottom:14px}
 .rate-treatment dl{margin:0}.rate-treatment dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:10px 0;border-top:1px solid #edf0e7}
 .rate-treatment dt{font-size:12px;line-height:1.7}.rate-treatment dd{margin:0;font-size:15px;font-weight:600;white-space:nowrap}
 .rate-table-title{font-size:13px}
}
@media(max-width:620px){
 :root{--header-height:79px}
 .home-hero{width:calc(100% - 20px);border-radius:8px;min-height:655px}
 .hero-copy{padding:45px 24px 207px}.hero-copy h1{font-size:clamp(52px,10.5vw,66px);line-height:1.07}.hero-copy>p{font-size:14px;line-height:1.85}.hero-footnote{font-size:8px;margin-top:28px}
 .hero-copy h1 em{font-size:1em}.hero-sea{width:160px;right:20px;bottom:55px}.hero-sea>span,.hero-sea i{font-size:10px}.hero-actions{gap:20px}.hero-actions .button{min-width:150px;font-size:12px;padding-inline:20px}
 .booking{padding:23px 19px 19px;gap:15px}.booking label:has(select){padding-top:10px}.booking-note{font-size:10px!important;text-align:left}.booking input{font-size:16px;letter-spacing:-.04em}
 .stats{padding-block:32px 8px}.stats strong{font-size:38px}.stats span{font-size:10px}.stats>div{padding-inline:10px}
 .experience-image img,.experience-card:nth-child(2) img,.experience-card:nth-child(3) img{aspect-ratio:1.24}.experience-card>.eyebrow{margin-top:22px}.experience-card>h3{font-size:31px}.experience-card>p{font-size:14px;margin-bottom:24px}
 .about-copy p,.story-copy p,.prose-section p{font-size:15px}.about-detail{transform:none;border-radius:6px}.about-tall{border-radius:8px}
 .service h3{font-size:13px}.service-number{right:15px;top:16px}.service svg{margin-bottom:20px}
 .page-hero{padding-block:30px}.page-hero-image{height:285px;border-radius:8px}.page-hero h1{font-size:clamp(44px,9vw,57px)}.page-hero-actions .button{font-size:12px;min-height:50px;padding:15px 17px}.page-hero-actions .text-link{font-size:12px}
 .section-nav a{font-size:11px;min-height:42px;padding-inline:12px}.section-nav-inner{gap:3px;padding-block:7px}
 .map-placeholder{min-height:400px;border-radius:8px}.map-placeholder>.button{bottom:120px}.map-placeholder .map-card{top:36%}.embed-notice{padding-inline:15px;font-size:10px}.embed-notice p{font-size:10px}
 .video-placeholder{height:310px}.video-placeholder .media-activate{margin-top:-40px}
 .faq-intro h2{font-size:39px}.faq-intro>p{font-size:14px}.faq-item summary{font-size:14px;gap:12px;grid-template-columns:22px minmax(0,1fr) 20px;padding:21px 0}.faq-item>p{padding-left:34px;padding-right:20px;font-size:14px}
 .contact-form-wrap{padding:26px 20px;box-shadow:0 10px 30px #173c3209}.contact-form-wrap>h4{font-size:31px}.contact-form .stay-fields input{padding:11px 7px;font-size:15px}.stay-fields{gap:0 12px}.stay-fields legend{font-size:14px}.stay-fields legend span{font-size:9px}
 .contact-form p label,.contact-form p a{font-size:12px}.legal{font-size:11px}.footer-navigation a{font-size:12px}.footer-navigation{gap:2px 22px}
}
@media(max-width:370px){
 .site-header{padding-inline:14px;gap:7px}.brand,.brand img{width:99px}.header-actions{gap:5px}.languages a{min-width:24px;font-size:9px}.languages{gap:0}.menu-toggle{width:39px;min-width:39px}
 .hero-copy{padding:35px 20px 195px}.hero-copy h1{font-size:49px}.hero-copy>p{font-size:13px}.hero-footnote{font-size:7px}.hero-sea{width:145px}.home-hero{min-height:660px}
 .booking{padding:20px 14px}.booking input{font-size:14px;letter-spacing:-.06em}.stats strong{font-size:32px}.stats span{font-size:9px}.stats>div{padding-inline:6px}
 .page-hero h1{font-size:43px}.page-hero-actions{gap:9px 18px}.page-hero-actions .button{font-size:11px;padding-inline:13px;gap:14px}.page-hero-actions .text-link{font-size:11px}
 .experience-card>h3{font-size:28px}.service,.service:first-child,.service:nth-child(3){padding:24px 15px}.service h3{font-size:12px}.service-number{font-size:9px}
 .contact-form-wrap{padding:23px 15px}.contact-form-wrap>h4{font-size:27px}.stay-fields{grid-template-columns:minmax(0,1fr)}.stay-fields legend{flex-wrap:wrap;gap:5px}.stay-fields select{min-width:100px}.stay-fields legend span{margin-left:0}.contact-form .stay-fields input{font-size:16px}
 .faq-intro h2{font-size:35px}.rate-card>summary{padding:14px;font-size:12px}.rate-treatment{padding:18px 14px}.rate-treatment dd{font-size:14px}.rate-treatment dt{font-size:11px}.rate-controls{padding:17px}
}
@media(max-height:500px){.section-nav{position:relative;top:auto}.main-nav{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){.faq-icon,.experience-card,.button{transition:none}}
@media print{.site-header,.topline,.section-nav,.footer-invitation,.media-placeholder,.lightbox,.booking-wrap,.rate-controls{display:none!important}.rates-responsive .table-scroll{display:block!important;overflow:visible}.rate-cards{display:none!important}[data-rate-type][hidden],.rates-table tr[hidden]{display:revert!important}.rates-table{min-width:0;font-size:9px}.rates-table th,.rates-table td{padding:6px}.wrap{width:100%}.section{padding-block:25px}.page-hero{grid-template-columns:1fr}.page-hero-image{height:230px}body{background:#fff;color:#111}.site-footer{background:#fff;color:#111}.cookie-notice,.legal{color:#111}}


/* One contemporary font family, natural word wrapping and generous type. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/plus-jakarta-sans-variable.ttf') format('truetype')}
:root{--sans:'Plus Jakarta Sans',Arial,sans-serif;--serif:'Plus Jakarta Sans',Arial,sans-serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* Keep words intact, including compounds with an existing hyphen. */
*,*::before,*::after{-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal}
.word-nowrap{white-space:nowrap}
body{font-size:17px;line-height:1.8}
h1,h2,h3,h4{font-family:var(--sans);font-weight:550;letter-spacing:-.045em;line-height:1.15}
em{font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em}
h2{font-size:clamp(32px,3.6vw,53px)}
.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:650}
.button,.text-link{font-size:14px}
.main-nav>a{font-size:14px}
.hero-copy h1{font-weight:550;font-size:clamp(52px,6.5vw,92px);max-width:900px;line-height:1.04}
.hero-copy h1 em{font-family:inherit;font-size:1em}
.home-hero{height:calc(100svh - var(--header-height) - 50px);min-height:510px;max-height:none}
.hero-copy{height:100%;max-width:1050px;padding:clamp(30px,6vh,75px) 6.3% 75px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-kicker{margin-bottom:23px;font-size:11px}
.hero-copy h1{margin-bottom:23px}.hero-copy>p{font-size:17px;line-height:1.65;margin-bottom:24px}
.hero-footnote{margin-top:26px;font-size:10px}.hero-sea{bottom:34px;right:34px;width:190px}
.hero-copy h1 em{display:inline;color:#edc89f}
.hero-actions{gap:20px}.hero-actions .button{min-height:54px;font-size:14px}
.round-link{font-size:13px}.hero-sea i,.hero-sea>span{font-size:11px}
.booking-wrap{margin-top:32px}
.booking .eyebrow,.booking label{font-size:12px}.booking p,.booking-note{font-size:12px!important}.booking .button{font-size:14px}
.experience-card>h3{font-size:clamp(23px,2vw,31px);font-weight:550;line-height:1.2}.experience-card>.eyebrow{font-size:11px}.experience-card>p{font-size:16px}
.experience-label{position:absolute;top:17px;left:17px;z-index:2;color:#173c32;background:#fffdf3;padding:8px 12px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.08em}
.service-number{display:none}
.about-copy h2,.location h2,.services h2{font-size:clamp(32px,3.7vw,52px)}
.about-copy p,.story-copy p,.prose-section p,.location-description p,.offer-copy p{font-size:16px;line-height:1.85}
.offer-copy h3{font-size:clamp(28px,2.7vw,39px);line-height:1.2}
.service h3{font-family:var(--sans);font-weight:550;letter-spacing:-.02em;font-size:16px;line-height:1.45}
.review-preview,.review blockquote{font-size:16px}.review-author{font-size:14px}.review summary{font-size:14px}
.video-section h2{font-size:clamp(31px,3vw,43px)}
.page-hero h1{font-size:clamp(39px,4.8vw,65px);line-height:1.12;font-weight:550}.page-hero p{font-size:17px}
.page-hero .eyebrow{font-size:12px}.page-hero-actions .button,.page-hero-actions .text-link{font-size:14px}
.section-nav .section-nav-home{font-size:20px;font-weight:600;letter-spacing:-.05em}.section-nav a{font-size:13px}
.story-copy h3,.prose-section h3{font-size:clamp(28px,3vw,40px);line-height:1.2}.story-copy h5,.prose-section h5{font-size:20px;line-height:1.6}
.album .section-heading h2{font-size:clamp(29px,3.1vw,43px)}.album-note{font-size:13px}
.destination-grid h4{font-size:27px;line-height:1.25}.destination-grid p{font-size:16px}
.faq-intro h2{font-size:clamp(31px,3.3vw,44px)}.faq-intro>p,.faq-item>p{font-size:16px}.faq-item summary{font-size:17px}
.rates h3{font-size:42px}.rates h4{font-size:19px}.rates p,.rates li{font-size:16px}.rates-table{font-size:14px}.rates-table th{font-size:13px}
.amenities>div{font-size:14px}.rates-intro{font-size:16px!important}
.contact-section{padding-top:52px}.contact-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:42px;align-items:start}
.contact-info{padding:32px;background:#eaf0e4;border-radius:10px;border:1px solid #d9e2d1}
.contact-info>.eyebrow{font-size:12px;margin-bottom:24px}.contact-info h4{font:650 13px/1.6 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#58704f;margin-bottom:13px}
.contact-info p,.contact-info a,.contact-grid p{font-size:16px;line-height:1.8}
.contact-info>ul>li:last-child{margin-bottom:0;padding-bottom:0;border:0}
.contact-info>ul{margin:0}.contact-info li{margin-bottom:15px}.contact-info>ul>li{margin-bottom:27px;padding-bottom:27px}
.contact-info p{margin-bottom:14px}.contact-info ul ul{margin:0}.contact-info a{font-weight:500;border-bottom-color:#b1c2a8}
.contact-info .business-ids{font-size:12px;line-height:1.9;color:#566b50;padding-top:20px;border-top:1px solid #cddbc3;margin-top:20px;margin-bottom:0}
.contact-route{margin-top:12px;display:flex!important;font-size:14px!important;justify-content:space-between;border-radius:5px;background:#fffdf3;padding:13px 16px!important;border:1px solid #c8d9bd!important}
.contact-form-wrap{padding:36px;background:#fffefb;border:1px solid #d8e0d1;box-shadow:0 16px 45px #153c3208}
.contact-form-wrap>h4{font-size:clamp(27px,2.6vw,36px);font-weight:550;line-height:1.23;margin-bottom:16px}
.contact-form-wrap>p{font-size:13px;color:var(--muted);margin-bottom:24px}
.contact-form label{font-size:14px}.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{font-size:16px;min-height:52px;padding:14px}
.contact-form .button{font-size:15px;min-height:55px}.contact-form p label,.contact-form p a{font-size:13px;line-height:1.8}
.contact-form .form-status{font-size:14px}.contact-form textarea{min-height:185px}.stay-fields legend{font-size:16px}.stay-fields legend span{font-size:11px}
.footer-invitation .invitation-row h2{font-size:clamp(34px,4vw,56px)}.footer-column,.footer-column:first-child p{font-size:14px}.footer-column h6{font-size:12px}.partners a{font-size:13px}.legal{font-size:12px}.cookie-notice{font-size:13px}
.footer-navigation a{font-size:14px}.footer-navigation .eyebrow{font-size:12px}
.gallery-item:focus-visible{outline-offset:3px}
.lightbox figure{width:100%;height:100%;max-width:none;justify-content:center}
.lightbox figure img{max-width:calc(100vw - 160px);max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain}
.lightbox figcaption{min-height:30px;padding-top:10px;flex-shrink:0;font-size:14px}
.lightbox{padding:60px 80px 50px}.lightbox button{z-index:2}
@media(max-width:1320px){.main-nav{gap:20px}.main-nav>a{font-size:13px}.hero-copy{max-width:900px}.hero-copy h1{font-size:clamp(55px,7vw,82px)}.booking .button{font-size:13px}.contact-grid{gap:30px}.contact-info{padding:26px}.contact-form-wrap{padding:30px}}
@media(max-width:1050px){
 .site-header{gap:13px}.main-nav{gap:13px}.main-nav>a{font-size:12px}.header-actions{gap:8px}
 .hero-copy{max-width:800px;padding-bottom:65px}.hero-copy h1{font-size:clamp(50px,6.9vw,71px)}.hero-copy>p{font-size:16px}.hero-sea{width:150px;right:25px}
 .hero-kicker{font-size:10px}.hero-footnote{font-size:9px}.hero-image-label{display:none}
 .experience-card>h3{font-size:24px}.experience-card>p{font-size:15px}.service h3{font-size:15px}.review-preview,.review blockquote{font-size:15px}
 .contact-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:25px}.contact-info{padding:25px}.contact-info a,.contact-info p{font-size:15px}.contact-form-wrap{padding:27px}
 .page-hero h1{font-size:45px}.page-hero p{font-size:16px}.page-hero-actions .button{font-size:13px}
}
@media(max-width:800px){
 .home-hero{height:calc(100svh - var(--header-height) - 50px);min-height:510px}.hero-copy{padding:32px 6% 45px;max-width:83%}.hero-copy h1{font-size:clamp(48px,7vw,64px)}.hero-copy>p{max-width:460px}.hero-footnote{max-width:420px}.hero-sea{width:145px;right:23px;bottom:29px}
 .page-hero h1{font-size:clamp(39px,6.8vw,56px)}.contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}.contact-info{padding:30px}.contact-info>ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.contact-info>ul>li{margin:0;padding:0;border:0}.contact-form-wrap{padding:33px}
 .main-nav{inset:calc(var(--header-height) + 9px) 15px auto;height:calc(100dvh - var(--header-height) - 27px);border:1px solid #d7e1ce;border-radius:11px;background:#fffdf7;box-shadow:0 18px 60px #153a3033;padding:18px 25px 30px;max-height:720px}
 .main-nav>a{font-family:var(--sans);font-size:26px;font-weight:500;letter-spacing:-.04em;padding:13px 8px;min-height:59px;border-color:#e0e6d8;display:flex;align-items:center;justify-content:space-between;line-height:1.25}
 .main-nav>a::after{content:'→';display:block;position:static;width:auto;height:auto;background:none;font-size:20px;color:#9dac96;transform:none;opacity:1}
 .main-nav>a[aria-current]{background:#eaf0e4;color:var(--deep);border-radius:5px;padding-inline:12px}
 .nav-offer>span{display:none}.menu-extra{padding:23px 8px 0;gap:17px}.menu-extra>span{font-size:11px}.menu-extra .button{font-size:14px}.menu-extra>a:last-child{font-size:16px}
 .menu-open .site-header{background:#f3f5ed}.menu-toggle{border:1px solid #cdd8c6;border-radius:5px;background:#eef2e7}
 .menu-open .menu-toggle{background:#dce7d2}.menu-toggle span{width:20px;margin:6px auto}
 .menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .section-nav a{font-size:13px}.faq-item summary{font-size:16px}
}
@media(max-width:620px){
 body{font-size:16px}.section{padding-block:58px}.eyebrow{font-size:11px}.home-hero{height:calc(100svh - var(--header-height) - 48px);min-height:450px;margin-top:10px}
 .hero-copy{max-width:100%;padding:29px 25px 138px;justify-content:center}.hero-copy h1{font-size:clamp(40px,9.5vw,56px);line-height:1.07;max-width:100%;margin-bottom:19px;letter-spacing:-.05em}.hero-copy h1 em{font-size:1em}.hero-kicker{font-size:9px;line-height:1.6;margin-bottom:22px;letter-spacing:.07em;gap:9px}.hero-kicker .stars{font-size:8px}
 .hero-copy>p{font-size:15px;line-height:1.65;max-width:380px;margin-bottom:22px}.hero-footnote{display:none}.hero-sea{width:127px;right:21px;bottom:23px;padding:5px}.hero-sea img{aspect-ratio:1.85}.hero-sea>span{font-size:9px;padding:5px 3px 1px}.hero-sea i{font-size:9px}
 .hero-actions{gap:13px 20px}.hero-actions .button{font-size:13px;min-height:49px;padding:14px 16px;min-width:0}.round-link{font-size:11px}.round-link>span{height:32px;width:32px}
 .booking-wrap{margin-top:25px}.booking .button{font-size:13px}.booking-note{font-size:11px!important}
 h2,.about-copy h2,.location h2,.services h2{font-size:34px}.experience-card>h3{font-size:27px}.experience-card>p{font-size:16px}.experience-card>.eyebrow{font-size:11px}
 .service h3{font-size:14px}.service svg{margin-bottom:20px}.service,.service:first-child,.service:nth-child(3){padding:23px 17px}
 .about-copy p,.story-copy p,.prose-section p,.location-description p,.offer-copy p{font-size:16px}.offer-copy h3{font-size:29px}.page-ristorante .prose-section p{font-size:15px}
 .page-hero h1{font-size:clamp(35px,8.5vw,47px)}.page-hero p{font-size:16px}.page-hero .eyebrow{font-size:10px}.page-hero-image{height:265px}.page-hero-actions .button,.page-hero-actions .text-link{font-size:13px}
 .story-copy h3,.prose-section h3{font-size:29px}.story-copy h5,.prose-section h5{font-size:18px}.full-gallery h2{font-size:31px}.destination-grid h4{font-size:25px}.destination-grid p{font-size:16px}.destinations h2,.destinations h3{font-size:32px}
 .section-nav a{font-size:12px;padding-inline:13px}.faq-intro h2{font-size:32px}.faq-item>p,.faq-intro>p{font-size:15px}.faq-item summary{font-size:16px}
 .contact-section{padding-top:30px}.contact-info{padding:26px}.contact-info>ul{display:block}.contact-info>ul>li{padding-bottom:22px;border-bottom:1px solid #cfddc5;margin-bottom:22px}.contact-info>ul>li:last-child{padding-bottom:0;margin-bottom:0;border:0}.contact-info a,.contact-info p{font-size:16px}.contact-info .business-ids{font-size:12px}.contact-form-wrap{padding:27px 22px}.contact-form-wrap>h4{font-size:28px}.contact-form label{font-size:14px}.stay-fields legend{font-size:15px}.contact-form .button{font-size:14px}
 .rates h3{font-size:35px}.rates h4{font-size:18px}.rates p,.rates li{font-size:15px}.rate-treatment dt{font-size:13px}.rate-treatment dd{font-size:16px}.rate-card>summary{font-size:14px}.rate-controls label{font-size:14px}
 .footer-invitation .invitation-row h2{font-size:35px}.footer-column,.footer-column:first-child p{font-size:14px}.partners a{font-size:13px}.legal{font-size:12px}.cookie-notice{font-size:13px}.footer-navigation a{font-size:14px}
 .lightbox{padding:62px 12px 83px}.lightbox figure img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 177px)}.lightbox-prev,.lightbox-next{bottom:18px}.lightbox-close{top:12px;right:12px}
}
@media(max-width:370px){
 .hero-copy{padding:24px 20px 115px}.hero-copy h1{font-size:39px}.hero-copy>p{font-size:14px}.hero-kicker{font-size:8px;margin-bottom:18px}.hero-sea{width:108px;bottom:18px;right:18px}.hero-actions .button{font-size:12px}.round-link{font-size:10px}.hero-actions{gap:12px}
 .contact-info{padding:22px 18px}.contact-info a,.contact-info p{font-size:15px}.contact-form-wrap{padding:25px 18px}.contact-form-wrap>h4{font-size:25px}.page-hero h1{font-size:34px}
 .main-nav{inset:calc(var(--header-height) + 7px) 9px auto;padding:15px 18px 25px}.main-nav>a{font-size:24px;min-height:54px}.menu-extra .button{font-size:12px}.menu-extra>span{font-size:10px}
 .experience-card>h3{font-size:24px}.experience-card>p{font-size:15px}.service h3{font-size:13px}.service,.service:first-child,.service:nth-child(3){padding:20px 13px}
 h2,.about-copy h2,.location h2,.services h2{font-size:30px}.full-gallery h2{font-size:28px}.faq-intro h2{font-size:29px}.faq-item summary{font-size:15px}.rate-treatment dt{font-size:12px}.rate-treatment dd{font-size:15px}.rate-card>summary{font-size:13px}.section-nav a{font-size:11px}
}
@media(max-height:720px) and (min-width:801px){.home-hero{min-height:0}.hero-copy{padding-block:25px}.hero-copy h1{font-size:clamp(46px,5.4vw,72px);margin-bottom:15px}.hero-kicker{margin-bottom:15px}.hero-copy>p{font-size:15px;margin-bottom:18px}.hero-footnote{display:none}.hero-sea{width:145px}.hero-actions .button{min-height:48px}}
@media(max-height:740px) and (max-width:800px){.home-hero{min-height:0}.hero-copy{padding-top:22px;padding-bottom:25px;max-width:100%}.hero-copy h1{font-size:clamp(35px,8.5vw,53px);margin-bottom:15px}.hero-kicker{margin-bottom:15px}.hero-copy>p{font-size:14px;margin-bottom:18px}.hero-sea{display:none}.hero-footnote{display:none}.hero-actions .button{min-height:45px}.hero-actions{gap:12px}}
@media(max-height:500px){
 .topline{display:none}.site-header{height:63px;padding-block:3px}.brand,.brand img{width:100px}.home-hero{height:calc(100svh - var(--header-height) - 18px);margin-top:8px;min-height:0}.hero-copy{padding:17px 6%;max-width:100%;justify-content:center}.hero-copy h1{font-size:clamp(31px,5.5vw,46px);line-height:1.02;margin:0 0 9px}.hero-copy h1 br{display:none}.hero-copy>p{font-size:12px;line-height:1.5;margin-bottom:12px}.hero-copy>p br{display:none}.hero-kicker{font-size:8px;margin-bottom:10px}.hero-sea,.hero-image-label,.hero-footnote{display:none}.hero-actions .button{min-height:38px;padding:9px 14px;font-size:12px}.round-link{font-size:11px}.round-link>span{width:28px;height:28px}.section-nav{position:relative;top:auto}.main-nav>a{min-height:48px;font-size:22px;padding-block:10px}
 .lightbox{padding:48px 63px 10px}.lightbox figure img{max-width:calc(100vw - 130px);max-height:calc(100dvh - 91px)}.lightbox figcaption{font-size:12px;min-height:24px}.lightbox-prev{left:10px;top:calc(50% - 23px);bottom:auto}.lightbox-next{right:10px;top:calc(50% - 23px);bottom:auto}.lightbox-close{top:8px;right:10px}
}
@media print{body{font-family:Arial,sans-serif}.home-hero{height:auto;min-height:0}.hero-copy{height:auto;min-height:0}.hero-main-image{display:none}}

.album .section-heading{flex-wrap:wrap;align-items:end}.album .section-heading>div:first-child{min-width:0}.album-tools{margin-left:auto}.album-controls button{min-width:44px;min-height:44px}
.hero-copy h1 em{margin-left:.12em}
.contact-info img{margin-right:5px;vertical-align:middle}
.experience-label{padding:11px;border-radius:5px;display:grid;place-items:center}.experience-label svg{width:23px;height:23px}
main[tabindex="-1"]:focus-visible,section[tabindex="-1"]:focus-visible,h4[tabindex="-1"]:focus-visible,.contact-form-wrap[tabindex="-1"]:focus-visible{outline:none}
h2{letter-spacing:-.03em}.experience-card h3,.story-copy h3,.prose-section h3{letter-spacing:-.025em}
@media(max-width:370px){.service-grid{grid-template-columns:minmax(0,1fr)}.service,.service:first-child,.service:nth-child(3){display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:17px;padding:20px}.service svg{width:28px;height:28px;margin:0}.service h3{font-size:15px}.album .section-heading h2{font-size:28px}}

/* Clear page introductions, tactile surfaces and direct access to the photographs. */
:root{--surface:#fffefb;--sand:#f0ece2;--radius:16px}
.page-hero{margin-block:26px 34px;padding:28px;gap:clamp(28px,4vw,64px);border:1px solid #e3e3d8;border-radius:var(--radius);background:var(--sand);grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.page-hero>div:first-child{padding:14px 0 14px 14px;min-width:0}
.page-hero .eyebrow{color:#65694d;margin-bottom:24px;font-size:11px;letter-spacing:.1em}
.page-hero h1{font-size:clamp(38px,4.3vw,61px);letter-spacing:-.035em}
.page-hero h1 em{color:#a05236}
.page-hero p{max-width:55ch;line-height:1.75;color:#536359}
.page-hero-image{height:clamp(390px,35vw,510px);border-radius:10px;box-shadow:0 12px 28px #18382c10;overflow:hidden}
.page-hero-image .image-caption{left:20px;right:20px;bottom:20px;max-width:max-content;padding:9px 13px;border:1px solid #ffffff55;border-radius:5px;background:#163d32e8;backdrop-filter:blur(12px);font-size:10px;letter-spacing:.08em;text-shadow:none}
.page-hero-actions{margin-top:27px;gap:14px 22px}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px 18px;list-style:none;padding:0;margin:25px 0 0}
.hero-facts li,.hero-facts a{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;line-height:1.6;font-weight:550}
.hero-facts li{color:#334e40}
.hero-facts svg{width:21px;height:21px;flex:0 0 21px;color:#926444}
.hero-facts a{background:var(--surface);border:1px solid #d8dccd;padding:10px 12px;border-radius:7px;min-height:44px;transition:border-color .2s,background .2s}
.hero-facts a:hover{background:#fff;border-color:#789182}
.page-contatti .hero-facts{gap:9px}
.page-contatti .page-hero-actions .text-link{display:none}
.home-hero{box-shadow:0 14px 36px #173c3212}
.hero-sea{border-radius:9px;box-shadow:0 8px 24px #0d292640}
.hero-sea img{border-radius:5px}
.experience-grid{gap:24px}
.experience-card{border-radius:var(--radius);box-shadow:0 6px 22px #1d3d3206;transition:transform .25s,box-shadow .25s,border-color .25s}
.experience-image img,.experience-card:nth-child(2) img,.experience-card:nth-child(3) img{aspect-ratio:1.2}
.experience-card>p{max-width:none;line-height:1.75}
.experience-card>.eyebrow{margin-top:25px;letter-spacing:.13em}
.experience-label,.circle-arrow,.zoom{border-radius:7px}
.experience-card:hover{box-shadow:0 16px 38px #1d3d3212;border-color:#b5c4ad}
.about{background:#eeece3}
.about-images{padding-right:38px}
.about-tall{border-radius:var(--radius)}
.about-detail{border-radius:12px;box-shadow:0 18px 34px #193e3615}
.story-copy h5,.prose-section h5{font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:-.015em;line-height:1.65}
.story-copy h3{padding-bottom:22px;border-bottom:1px solid #d9e1d4}
.story-copy p,.prose-section p{max-width:67ch}
.prose-section p{margin-inline:auto}
.story-copy>.text-link{margin-right:18px}
.gallery-item{border-radius:10px}
.gallery-item .zoom{width:40px;height:40px;background:#fffdf4f5;border-color:#fff}
.gallery-more{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding-inline:22px}
.gallery-more>summary{font-size:15px;font-weight:550;gap:18px}
.gallery-more>.photo-grid{padding-bottom:22px}
.service{border-radius:12px}
.review{border-radius:12px;box-shadow:0 8px 25px #18392c05}
.review-author{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}
.destination-grid>div{border-radius:12px;padding:28px;box-shadow:0 7px 20px #173c3204}
.faq-item{border:1px solid #dce2d4;border-radius:10px;background:var(--surface);margin-bottom:12px;overflow:visible}
.faq-item summary{grid-template-columns:minmax(0,1fr) 20px;padding:22px 24px;gap:18px;border-radius:10px;font-weight:550}
.faq-item summary:hover{background:#f2f4eb}

.faq-item[open]{border-color:#adc0a2;background:#f2f5ec}
.faq-item>p{padding:0 24px 23px;margin:0;line-height:1.85;color:#4c6454}
.faq-item[open] summary{color:var(--deep)}
.booking{background:var(--surface);border-color:#d4ddcb;border-radius:12px;box-shadow:0 12px 30px #173c3209}
.booking-heading .eyebrow{color:#385742}
.contact-info{background:#e9eee1;border-radius:14px;border-color:#d4ddc8}
.contact-info>.eyebrow{padding-bottom:19px;border-bottom:1px solid #cbd7bf}
.contact-info a[href^="tel:"],.contact-info a[href^="mailto:"]{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#9bad8f}
.contact-form-wrap{border-radius:14px;box-shadow:0 14px 40px #173c3208;border-top:4px solid #8caa7a}
.contact-form-wrap>h4{letter-spacing:-.025em}
.contact-form-wrap>.contact-intro{font-size:15px;line-height:1.8;color:#52644f;margin:0 0 26px}
.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea,.contact-form select{border-radius:7px;border-color:#c7d2bf;background:#fafbf6;transition:border-color .2s,box-shadow .2s,background .2s}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#5d8055;box-shadow:0 0 0 3px #d4e2c940}
.contact-form textarea{resize:vertical}
.stay-fields{padding:20px 0;border-block:1px solid #dce4d3;margin-bottom:23px}
.stay-fields legend{padding:0 10px 0 0}
@media(max-width:620px),(min-width:801px) and (max-width:1150px){.stay-fields{grid-template-columns:minmax(0,1fr)}}
.rate-controls{max-width:none;background:#edf1e6;border-radius:12px;padding:25px;gap:18px 24px}
.rate-controls label{font-size:14px}
.rate-controls select{border-radius:7px}
.rate-results{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;border-top:1px solid #d3dfc9;padding-top:12px}
.rates .rate-result-count{font-size:13px;line-height:1.6;margin:0;color:#52634a}
.rate-reset{font-size:13px;font-weight:550;border:0;border-radius:5px;background:transparent;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.rate-reset:disabled{opacity:.5;cursor:default;text-decoration:none}
.rate-card{border-radius:10px;box-shadow:0 4px 13px #173c3204}
.rate-card[open]{border-color:#a6bb96}
.rates-table td{font-variant-numeric:tabular-nums}
.rates-table tbody tr:hover td{background:#f1f5e9}
.section-nav{box-shadow:0 5px 14px #173c3205}
.section-nav a{border-radius:7px;transition:background .18s,color .18s}
.section-nav-inner{overscroll-behavior-x:contain}
.languages a{font-weight:600;color:#56654e}
.lightbox[open]{display:flex}
.lightbox{padding:76px 84px 116px;background:#112c27fa}
.lightbox-title{position:absolute;left:28px;top:25px;right:92px;color:#e7edde;font-size:14px;line-height:1.5;font-weight:500;letter-spacing:.02em;margin:0}
.lightbox figure{height:100%;min-height:0;justify-content:center;gap:0}
.lightbox figure img{max-width:calc(100vw - 168px);max-height:calc(100dvh - 228px);border-radius:7px;object-fit:contain;transition:opacity .15s}
.lightbox figure img.is-loading{opacity:0}
/* The counter must not overlap the loading message or the retry button. */
.lightbox figure img.is-loading+figcaption{visibility:hidden}
.lightbox figcaption{padding-top:12px;min-height:34px;color:#d9e5d0;font-size:13px;font-variant-numeric:tabular-nums}
.lightbox-thumbnails{position:absolute;bottom:20px;left:84px;right:84px;display:flex;align-items:center;gap:9px;height:74px;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#6e897b transparent;padding:4px;isolation:isolate}
.lightbox .lightbox-thumbnails button{position:static;flex:0 0 86px;width:86px;height:62px;padding:3px;border:2px solid transparent;border-radius:7px;opacity:.64;background:#ffffff0d;overflow:hidden}
.lightbox .lightbox-thumbnails button:hover{opacity:1;background:#ffffff15}
.lightbox .lightbox-thumbnails button[aria-current]{opacity:1;border-color:#e4c290;background:#e4c29020}
.lightbox-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.lightbox-thumbnails button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.lightbox-close{top:16px;right:24px}
.lightbox-prev,.lightbox-next{top:calc(50% - 50px);bottom:auto}
.lightbox-prev{left:22px}.lightbox-next{right:22px}
.lightbox-status{position:absolute;inset:85px 85px 145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;font-size:15px;pointer-events:none}
.lightbox-status span{max-width:440px}
.lightbox .lightbox-retry{position:static;font-size:14px;width:auto;height:auto;min-height:46px;padding:10px 18px;pointer-events:auto}
.lightbox-status[hidden],.lightbox-retry[hidden]{display:none!important}
@media(min-width:801px){
 .main-nav>a[aria-current="page"]{color:var(--deep);font-weight:650}
 .main-nav>a::after{height:2px;bottom:8px;border-radius:2px}
}
@media(max-width:1050px){
 .page-hero{padding:22px;gap:27px}.page-hero>div:first-child{padding:8px 0}.page-hero h1{font-size:42px}.page-hero-image{height:430px}
 .hero-facts{gap:10px 13px}.hero-facts li,.hero-facts a{font-size:12px}
 .page-hero-actions{gap:12px 16px}
 .destination-grid>div{padding:24px}
}
@media(max-width:800px){
 .page-hero{grid-template-columns:minmax(0,1fr);padding:25px;gap:25px;margin-block:20px 25px}
 .page-hero>div:first-child{padding:3px 0}.page-hero h1{font-size:clamp(35px,6.2vw,51px)}
 .page-hero-image{height:350px}.page-hero-actions{margin-top:23px}.page-hero p{max-width:60ch}
 .hero-facts{margin-top:20px}.hero-facts li,.hero-facts a{font-size:13px}
 .main-nav{box-shadow:0 22px 60px #123c3430}.main-nav>a[aria-current="page"]{border-left:3px solid #8fa77e}
 .menu-extra{border-radius:8px;background:#eef2e8;margin-top:20px;padding:20px}
 .menu-extra .button{width:100%;font-size:13px;gap:12px}
}
@media(max-width:620px){
 .page-hero{width:calc(100% - 24px);padding:23px 16px 16px;gap:25px;margin-block:12px 23px;border-radius:13px}
 .page-hero>div:first-child{padding:0 4px}.page-hero h1{font-size:clamp(34px,8.4vw,46px);line-height:1.13;letter-spacing:-.03em;margin-bottom:20px}
 .page-hero .eyebrow{font-size:10px;margin-bottom:20px}.page-hero p{font-size:16px}
 .page-hero-image{height:clamp(235px,64vw,350px);border-radius:8px}
 .page-hero-image .image-caption{bottom:14px;left:14px;right:14px;font-size:9px;padding:8px 10px;max-width:calc(100% - 28px)}
 .hero-facts{gap:10px 16px}.hero-facts li,.hero-facts a{font-size:12px}.hero-facts svg{width:19px;height:19px;flex-basis:19px}
 .experience-grid{gap:24px}.experience-image img,.experience-card:nth-child(2) img,.experience-card:nth-child(3) img{aspect-ratio:1.32}
 .experience-card>.eyebrow{margin-top:22px}
 .about-images{padding-right:34px}.about-detail{border-width:6px}
 .gallery-more{padding-inline:15px}.gallery-more>summary{font-size:14px}.gallery-more>.photo-grid{gap:10px;padding-bottom:15px}
 .faq-item summary{padding:19px 17px;gap:12px;font-size:16px}.faq-item>p{padding:0 17px 21px}
 .contact-form-wrap>.contact-intro{font-size:14px}.stay-fields{padding-block:16px}
 .rate-controls{padding:20px;gap:16px}.rates .rate-result-count,.rate-reset{font-size:12px}
 .menu-extra{padding:18px 13px}.menu-extra .button{padding-inline:15px}
 .lightbox{padding:77px 12px 175px}
 .lightbox-title{top:26px;left:18px;right:75px;font-size:12px;letter-spacing:0}
 .lightbox figure img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 287px)}
 .lightbox-thumbnails{bottom:80px;left:12px;right:12px;height:65px;gap:7px}
 .lightbox .lightbox-thumbnails button{flex-basis:72px;width:72px;height:54px}
 .lightbox-prev,.lightbox-next{top:auto;bottom:18px}.lightbox-prev{left:calc(50% - 56px)}.lightbox-next{right:calc(50% - 56px)}
 .lightbox-close{right:12px;top:14px}
 .lightbox-status{inset:80px 20px 190px;font-size:14px}
}
@media(max-width:370px){
 .page-hero h1{font-size:32px}.hero-facts{gap:11px}.page-contatti .hero-facts a{padding-inline:10px}
 .page-hero-actions .button{font-size:12px;gap:12px;padding-inline:15px}
 .faq-item summary{padding-inline:14px;font-size:15px}.faq-item>p{padding-inline:14px}
 .rate-controls{padding:17px}.rate-results{gap:2px 12px}
 .lightbox-title{max-width:170px;top:20px}
}
@media(max-height:500px){
 .page-hero-image{height:260px}.menu-extra .button{min-height:46px}
 .lightbox{padding:57px 65px 70px}
 .lightbox-title{top:16px;left:20px;right:75px;font-size:12px;max-width:none}
 .lightbox figure img{max-width:calc(100vw - 130px);max-height:calc(100dvh - 161px)}
 .lightbox figcaption{min-height:27px;padding-top:5px;font-size:12px}
 .lightbox-thumbnails{bottom:7px;left:65px;right:65px;height:52px;padding-block:2px}
 .lightbox .lightbox-thumbnails button{flex-basis:64px;width:64px;height:44px;min-height:44px}
 .lightbox-prev,.lightbox-next{top:calc(50% - 38px);bottom:auto}.lightbox-prev{left:10px}.lightbox-next{right:10px}
 .lightbox-close{top:6px;right:10px}.lightbox-status{inset:58px 68px 92px;font-size:13px;gap:10px}
}
@media(prefers-reduced-motion:reduce){
 .experience-card,.hero-facts a,.section-nav a,.lightbox figure img{transition:none}
}
@media print{.hero-facts,.lightbox-title,.lightbox-thumbnails,.lightbox-status{display:none!important}.page-hero{margin:0;padding:20px;background:#fff;break-inside:avoid}.page-hero>div:first-child{padding:0}.page-hero-image{height:230px}.contact-form-wrap{box-shadow:none}.faq-item{break-inside:avoid}}

/* Plus Jakarta Sans: a consistent, readable scale for content and controls. */
:root{--text-body:18px;--text-small:14px;--text-label:13px;--reading-color:#485d51}
body{font-size:var(--text-body);font-weight:400;line-height:1.8;letter-spacing:-.012em}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.035em;line-height:1.18}
h2{font-size:clamp(34px,3.4vw,50px)}
h5{font-size:21px;line-height:1.6;font-weight:550}
h6,.eyebrow{font-size:var(--text-label);font-weight:650;line-height:1.65;letter-spacing:.08em}
.section{padding-block:clamp(64px,7vw,108px)}
.section-heading{gap:24px;margin-bottom:38px;align-items:end}
.button,.text-link{font-size:15px;line-height:1.5;font-weight:600;min-height:48px;letter-spacing:0}
.button{border-radius:8px;padding:16px 23px}
.text-link{padding-block:12px;gap:18px}
.topline{font-size:11px;letter-spacing:.065em}.topline a{font-size:12px;letter-spacing:0}
.topline i{padding-inline:5px}
.languages a{font-size:12px;min-width:32px;min-height:44px;padding-inline:3px;color:#4d6252}
.languages a[aria-current]{border-bottom:0;border-radius:5px;background:#e9eee1;color:#183e31}
.main-nav{gap:20px}.main-nav>a{font-size:15px}.header-book{font-size:14px}
.hero-copy h1{font-weight:600;letter-spacing:-.04em;line-height:1.08}
.hero-copy>p{font-size:18px;line-height:1.75;max-width:550px}
.hero-kicker{font-size:12px;letter-spacing:.065em}.hero-kicker .stars{font-size:11px}
.hero-footnote{font-size:12px;letter-spacing:.08em}.hero-image-label{font-size:11px}
.hero-actions .button{font-size:15px;min-height:52px}.round-link{font-size:14px;line-height:1.5}
.hero-sea>span,.hero-sea i{font-size:12px;font-family:var(--sans);font-style:normal}
.booking{gap:20px;border-radius:14px;box-shadow:0 14px 35px #173c3210}
.booking .eyebrow{font-size:14px;letter-spacing:.04em}.booking label{font-size:14px;letter-spacing:0}
.booking p,.booking-note{font-size:14px!important;line-height:1.6!important}
.booking input,.booking select{font-size:17px;min-height:44px;letter-spacing:0}
.booking .button{font-size:15px;padding-inline:20px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:38px}
.stats>div{display:flex;align-items:center;gap:18px;padding:0;min-width:0}
.stats strong{font-size:48px;font-weight:550;line-height:1.1;white-space:nowrap}
.stats strong small{font-size:26px}.stats span{font-size:15px;line-height:1.65;max-width:165px;color:var(--reading-color)}
.experience-card{display:flex;flex-direction:column;background:#fffefb;border-color:#dce1d5;border-radius:17px;box-shadow:0 8px 28px #18392d08}
.experience-card>.eyebrow{font-size:13px;letter-spacing:.08em;margin:26px 26px 12px}
.experience-card>h3{font-size:clamp(25px,2.2vw,31px);line-height:1.25;letter-spacing:-.035em;margin:0 26px 15px}
.experience-card>p{font-size:18px;line-height:1.75;color:var(--reading-color);margin:0 26px 28px}
.about-copy h2,.location h2,.services h2{font-size:clamp(34px,3.5vw,50px);line-height:1.2}
.about-copy p,.story-copy p,.prose-section p,.location-description p,.offer-copy p,.destination-grid p{font-size:var(--text-body);line-height:1.85;color:var(--reading-color)}
.about-grid,.location-grid{gap:7%}
.about-images .image-caption{font-size:12px;letter-spacing:.04em;line-height:1.65;max-width:180px}
.service-grid{gap:16px}
.service,.service:first-child,.service:nth-child(3){padding:30px 24px;background:#ffffff09;border:1px solid #c8d8bd3b;border-radius:13px}
.service h3{font-size:18px;line-height:1.55;max-width:none;font-weight:550;letter-spacing:-.015em}
.service svg{width:36px;height:36px;margin-bottom:24px}
.electric h2{font-size:23px;line-height:1.5}.electric p{font-size:16px;line-height:1.8}
.offer-copy{padding:44px}.offer-copy h3{font-size:clamp(29px,2.7vw,39px);line-height:1.25;font-weight:600}
.offer-copy>.eyebrow,.offer-copy h6{font-size:13px;line-height:1.65}
.offer-photo>span{font-size:12px;letter-spacing:.08em}
.review-grid{gap:24px}.review{padding:30px;border-color:#dbe1d2}
.review-preview,.review blockquote{font-size:18px;line-height:1.8;color:var(--reading-color)}
.review summary,.review-author{font-size:15px;line-height:1.65}.review-author{padding-top:18px}
.page-hero{padding:32px;gap:clamp(26px,4vw,56px)}
.page-hero h1{font-weight:600;letter-spacing:-.035em;line-height:1.18}
.page-hero p{font-size:18px;line-height:1.8}.page-hero .eyebrow{font-size:13px;letter-spacing:.06em}
.page-hero-image .image-caption{font-size:12px;line-height:1.5;letter-spacing:.035em}
.page-hero-actions .button,.page-hero-actions .text-link{font-size:15px}
.hero-facts{gap:13px 19px;margin-top:25px}.hero-facts li,.hero-facts a{font-size:14px;line-height:1.65}
.hero-facts svg{width:23px;height:23px;flex-basis:23px}
.hero-facts a{padding:11px 13px;min-height:48px}
.story-copy h3,.prose-section h3{font-size:clamp(30px,3vw,41px);line-height:1.25}
.story-copy h5,.prose-section h5{font-size:21px;line-height:1.7;letter-spacing:-.012em}
.prose-section{max-width:940px}.prose-section h6{font-size:13px;letter-spacing:.08em}
.page-ristorante .prose-section p{font-size:var(--text-body)}
.full-gallery h2,.album .section-heading h2{font-size:clamp(31px,3vw,44px);line-height:1.25}
.album-note{font-size:14px}.gallery-more>summary{font-size:16px}
.destination-grid{gap:22px}.destination-grid>div{padding:28px;border-top:3px solid #9cac82;border-radius:12px}
.destination-grid h4{font-size:28px;line-height:1.3;letter-spacing:-.03em}.destination-grid a{font-size:15px}
.section-nav a{font-size:15px;min-height:46px;padding:11px 16px;letter-spacing:-.01em}
.section-nav .section-nav-home{font-size:21px}
.faq-intro>p,.faq-item>p{font-size:var(--text-body);line-height:1.85}
.faq-item summary{font-size:18px;font-weight:600;padding:24px;line-height:1.6}
.faq-item>p{padding:0 24px 26px}.faq-intro h2{font-size:clamp(32px,3.1vw,44px);line-height:1.25}
.video-section h2{font-size:clamp(33px,3vw,43px);line-height:1.25}
.video-placeholder .media-activate{font-size:16px}
.embed-notice,.embed-notice p{font-size:13px;line-height:1.6}
.map-card span{font-size:16px}.map-card small{font-size:13px}.map-placeholder>.button{font-size:15px}
.address{font-size:16px;line-height:1.8}
.amenities>div{font-size:16px;line-height:1.7;gap:15px}
.rates p,.rates li,.rates-intro{font-size:var(--text-body)!important;line-height:1.8}
.rates h3{font-size:40px}.rates h4{font-size:21px;line-height:1.6}
.rates-table{font-size:16px}.rates-table th{font-size:14px;line-height:1.6}
.rates-table td,.rates-table th{padding:18px 14px}
.rate-controls label,.rate-controls select{font-size:16px}.rate-controls select{min-height:52px}
.rate-card>summary{font-size:16px;padding:20px;gap:12px;line-height:1.7}
.rate-treatment h5{font-size:17px}.rate-treatment dt{font-size:15px;line-height:1.7}.rate-treatment dd{font-size:18px;font-weight:650}
.rates .rate-table-title{font-size:16px!important;font-weight:600}
.rates .rate-result-count,.rates .table-hint{font-size:14px!important}.rate-reset{font-size:14px}
.contact-info{padding:34px}.contact-info>.eyebrow{font-size:14px;letter-spacing:.07em}
.contact-info h4{font-size:14px;line-height:1.75;letter-spacing:.045em}
.contact-info p,.contact-info a,.contact-grid p{font-size:18px;line-height:1.85}
.contact-info .business-ids{font-size:14px;letter-spacing:0}.contact-info .contact-route{font-size:16px!important}
.contact-form-wrap{padding:36px}.contact-form-wrap>h4{font-size:clamp(29px,2.6vw,37px);line-height:1.3;font-weight:600}
.contact-form-wrap>p,.contact-form-wrap>.contact-intro{font-size:16px;line-height:1.8}
.contact-form label{font-size:16px;line-height:1.6;margin-bottom:9px}
.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea,.contact-form select,.contact-form .stay-fields input{font-size:17px;min-height:54px;padding:13px 12px}
.contact-form textarea{min-height:190px;line-height:1.8}
.stay-fields legend{font-size:18px}.stay-fields legend span{font-size:13px}.contact-form .stay-summary{font-size:15px}
.contact-form p label,.contact-form p a{font-size:14px;line-height:1.85}.contact-form .button{font-size:16px}
.contact-form .form-status{font-size:16px;line-height:1.75}
.footer-column,.footer-column:first-child p{font-size:15px;line-height:1.9}.footer-column h6{font-size:14px;letter-spacing:.065em}
.footer-navigation a{font-size:15px;min-height:44px;display:inline-flex;align-items:center}.footer-navigation .eyebrow{font-size:13px}
.partners a{font-size:14px;line-height:1.85}.legal,.cookie-notice{font-size:14px;line-height:1.9}
.footer-invitation .eyebrow{font-size:13px;letter-spacing:.08em}.footer-invitation .invitation-row h2{font-weight:600;line-height:1.25}
.invitation-row .button{font-size:15px}
.lightbox-title{font-size:15px}.lightbox figcaption{font-size:14px;line-height:1.5}
@media(min-width:1101px) and (max-width:1450px){.main-nav{gap:25px}}
@media(max-width:1100px){
 .header-book{display:none}.header-actions{margin-left:auto;gap:18px}.site-header{gap:20px}
 .menu-toggle{display:block;min-width:44px;min-height:44px;border:1px solid #cdd8c6;border-radius:6px;background:#eef2e7}
 .menu-toggle span{width:20px;margin:6px auto}
 .main-nav{display:none;position:fixed;inset:calc(var(--header-height) + 9px) 18px auto;margin:0;height:calc(100dvh - var(--header-height) - 27px);max-height:760px;overflow-y:auto;overscroll-behavior:contain;padding:20px 28px 28px;background:#fffdf7;border:1px solid #d7e1ce;border-radius:13px;box-shadow:0 22px 60px #123c3430;z-index:49}
 .menu-open .main-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
 .main-nav>a{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;width:100%;white-space:normal;font-size:27px;line-height:1.35;font-weight:550;letter-spacing:-.035em;padding:14px 10px;min-height:62px;border-bottom:1px solid #e0e6d8}
 .main-nav>a::after{content:'→';display:block;position:static;transform:none;width:auto;height:auto;background:none;opacity:1;font-size:23px;color:#85967b}
 .main-nav>a[aria-current]{background:#eaf0e4;border-left:3px solid #8fa77e;border-radius:6px;padding-inline:12px}
 .nav-offer>span{display:none}.menu-extra{display:flex;flex-direction:column;align-items:start;gap:17px;flex-shrink:0;margin-top:20px;padding:22px;background:#eef2e8;border-radius:9px}
 .menu-extra>span{font-size:13px;line-height:1.7;letter-spacing:0}.menu-extra .button{font-size:15px;width:100%}.menu-extra>a:last-child{font-size:18px}
 .menu-open .site-header{background:#f3f5ed}.menu-open .menu-toggle{background:#dce7d2}
 .menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stats{gap:20px}.stats strong{font-size:39px}.stats span{font-size:14px}.stats>div{gap:14px}
 .offer-copy{padding:32px}.contact-info{padding:27px}.contact-form-wrap{padding:29px}
}
@media(max-width:800px){
 .page-hero{padding:28px;gap:28px}.page-hero h1{font-size:clamp(35px,6vw,50px)}
 .section-nav a{font-size:14px}.section-nav-inner{scroll-padding-inline:16px}
 .booking{gap:18px}.booking .button{font-size:15px}
 .stats{gap:17px}.stats span{font-size:14px}.stats strong{font-size:36px}
 .experience-card>h3{font-size:27px}.experience-card>p{font-size:17px}
 .review-preview,.review blockquote{font-size:17px}
}
@media(max-width:620px){
 :root{--text-body:17px;--text-label:12px}.section{padding-block:64px}.section-heading{margin-bottom:30px}
 .topline{font-size:11px;letter-spacing:.03em}.topline a{font-size:11px}.topline-region{display:none}
 .site-header{gap:10px}.header-actions{gap:12px}.languages a{font-size:12px;min-width:30px}
 .hero-copy>p{font-size:17px;line-height:1.75}.hero-kicker{font-size:11px;gap:8px}.hero-kicker .stars{font-size:10px}
 .hero-actions .button{font-size:14px;padding:13px 16px;min-height:49px}.round-link{font-size:13px}.hero-actions{gap:14px 18px}
 .hero-sea>span,.hero-sea i{font-size:11px}.hero-sea{width:140px}
 .booking{padding:24px 20px}.booking label{padding-left:0}.booking .eyebrow{font-size:13px}.booking p,.booking-note{font-size:13px!important}
 .booking label:has(select){gap:12px}.booking select{max-width:150px}
 .stats{grid-template-columns:minmax(0,1fr);gap:0;padding-block:25px 18px;border:0}
 .stats>div,.stats>div:first-child,.stats>div:last-child{display:grid;grid-template-columns:110px minmax(0,1fr);gap:19px;padding:20px 0;border-bottom:1px solid #d9dfd1;text-align:left;align-items:center}
 .stats strong{font-size:39px;letter-spacing:-.04em}.stats strong small{font-size:23px}.stats span{font-size:16px;max-width:none;margin:0;line-height:1.65}
 h2,.about-copy h2,.location h2,.services h2{font-size:34px;line-height:1.25}
 .experience-card>.eyebrow{font-size:12px;margin:24px 24px 12px}.experience-card>h3{font-size:27px;margin-inline:24px}.experience-card>p{font-size:17px;margin:0 24px 26px}
 .service-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .service,.service:first-child,.service:nth-child(3){display:grid;grid-template-columns:30px minmax(0,1fr);gap:20px;align-items:center;padding:24px}
 .service svg{margin:0;width:30px;height:30px}.service h3{font-size:17px;line-height:1.6}
 .about-images .image-caption{font-size:11px;max-width:135px}.about-images{padding-bottom:65px}
 .electric h2{font-size:21px}.electric p{font-size:16px}.offer-copy{padding:30px 25px}.offer-copy h3{font-size:29px}
 .review{padding:27px 24px}.review-preview,.review blockquote{font-size:17px}
 .page-hero{padding:26px 18px 18px;gap:27px}.page-hero h1{font-size:clamp(33px,8vw,45px);line-height:1.22}
 .page-hero p{font-size:17px}.page-hero .eyebrow{font-size:12px;letter-spacing:.035em}.page-hero-actions .button,.page-hero-actions .text-link{font-size:14px}
 .hero-facts li,.hero-facts a{font-size:14px}.hero-facts{gap:13px 17px}.hero-facts svg{width:21px;height:21px;flex-basis:21px}
 .page-hero-image .image-caption{font-size:11px}
 .story-copy h3,.prose-section h3{font-size:30px;line-height:1.3}.story-copy h5,.prose-section h5{font-size:20px}
 .full-gallery h2,.album .section-heading h2{font-size:31px}.gallery-more>summary{font-size:15px}
 .destination-grid>div{padding:26px}.destination-grid h4{font-size:27px}
 .faq-item summary{font-size:17px;padding:21px 19px;gap:12px}.faq-item>p{padding:0 19px 23px}.faq-intro h2{font-size:32px}
 .map-card{padding:18px}.map-card span{font-size:15px}.map-card small{font-size:12px}.map-placeholder>.button{font-size:14px;white-space:normal;min-height:52px;max-width:calc(100% - 32px)}
 .video-section h2{font-size:33px}.embed-notice,.embed-notice p{font-size:13px;line-height:1.6}
 .amenities>div{font-size:15px}.rates h3{font-size:35px}.rates h4{font-size:20px}
 .rate-controls label,.rate-controls select{font-size:16px}.rate-card>summary{font-size:16px;padding:18px}
 .rate-treatment{padding:20px 18px}.rate-treatment dt{font-size:15px}.rate-treatment dd{font-size:18px}.rate-treatment dl>div{gap:12px}
 .rates .rate-result-count,.rate-reset{font-size:14px!important}
 .contact-info{padding:28px 24px}.contact-info a,.contact-info p{font-size:17px}.contact-info .business-ids{font-size:14px}
 .contact-form-wrap{padding:29px 23px}.contact-form-wrap>h4{font-size:28px;line-height:1.3}.contact-form-wrap>p,.contact-form-wrap>.contact-intro{font-size:16px}
 .contact-form label{font-size:16px}.contact-form .button{font-size:15px}.stay-fields legend{font-size:17px}
 .footer-invitation .invitation-row h2{font-size:35px}.footer-column,.footer-column:first-child p{font-size:15px}
 .legal,.cookie-notice{font-size:14px}.partners a{font-size:14px}
 .main-nav{inset:calc(var(--header-height) + 8px) 12px auto;padding:18px 22px 25px}.main-nav>a{font-size:26px}
 .menu-extra{padding:19px 15px}.menu-extra .button{font-size:14px;padding-inline:15px}
 .lightbox-title{font-size:14px}.lightbox figcaption{font-size:14px}
}
@media(max-width:370px){
 .site-header{padding-inline:13px;gap:8px}.brand,.brand img{width:96px}.header-actions{gap:7px}.languages a{font-size:11px;min-width:26px}.menu-toggle{min-width:42px;width:42px}
 .hero-copy{padding-inline:19px}.hero-copy h1{font-size:37px}.hero-copy>p{font-size:16px}.hero-kicker{font-size:10px}.hero-kicker .stars{font-size:8px}.hero-actions .button{font-size:13px}.round-link{font-size:12px}
 .booking{padding:23px 16px;grid-template-columns:minmax(0,1fr)}.booking label:has(select){grid-column:1}.booking input,.booking select{font-size:17px;letter-spacing:0}
 .stats>div,.stats>div:first-child,.stats>div:last-child{grid-template-columns:92px minmax(0,1fr);gap:16px}.stats strong{font-size:35px}.stats span{font-size:15px}
 h2,.about-copy h2,.location h2,.services h2{font-size:31px}.experience-card>h3{font-size:25px}.experience-card>p{font-size:17px}
 .experience-card>.eyebrow,.experience-card>h3,.experience-card>p{margin-inline:20px}
 .service,.service:first-child,.service:nth-child(3){padding:22px 18px;gap:17px}.service h3{font-size:16px}
 .page-hero{padding-inline:15px}.page-hero>div:first-child{padding:0}.page-hero h1{font-size:31px}.page-hero p{font-size:16px}.page-hero .eyebrow{font-size:11px}
 .hero-facts a{padding:10px}.hero-facts li,.hero-facts a{font-size:13px}.page-hero-actions .button{font-size:13px;padding-inline:14px}
 .story-copy h3,.prose-section h3{font-size:28px}.full-gallery h2,.album .section-heading h2{font-size:28px}
 .faq-item summary{font-size:16px;padding-inline:15px}.faq-item>p{padding-inline:15px}.faq-intro h2{font-size:29px}
 .contact-info{padding:26px 19px}.contact-info a,.contact-info p{font-size:16px}.contact-form-wrap{padding:27px 18px}.contact-form-wrap>h4{font-size:26px}
 .contact-form p label,.contact-form p a{font-size:14px}.contact-info .contact-route{font-size:15px!important}
 .rate-treatment{padding-inline:14px}.rate-treatment dt{font-size:14px}.rate-treatment dd{font-size:17px}.rate-card>summary{font-size:15px;padding:16px 14px}.main-nav{padding-inline:18px}.main-nav>a{font-size:24px}.menu-extra .button{font-size:13px}
}
@media(max-height:740px) and (max-width:800px){
 .hero-copy{padding-block:22px}.hero-copy h1{font-size:clamp(33px,8vw,49px);margin-bottom:15px}.hero-copy>p{font-size:16px;line-height:1.65;margin-bottom:18px}.hero-copy>p br{display:none}
 .hero-kicker{font-size:10px;margin-bottom:16px}.hero-sea,.hero-footnote{display:none}.hero-actions{gap:12px 17px}.hero-actions .button{font-size:14px;min-height:46px}
}
@media(max-height:720px) and (min-width:801px){
 .hero-copy>p{font-size:17px;line-height:1.65}.hero-kicker{font-size:11px}.hero-actions .button{font-size:15px}
}
@media(max-height:500px){
 .topline{display:none}.site-header{height:63px}.brand,.brand img{width:100px}
 .hero-copy{padding:15px 5%;justify-content:center}.hero-copy h1{font-size:clamp(29px,5.2vw,43px);line-height:1.08;margin-bottom:9px}.hero-copy h1 br{display:none}.hero-copy>p{font-size:15px;line-height:1.55;margin-bottom:12px}.hero-copy>p br{display:none}
 .hero-kicker{font-size:10px;margin-bottom:10px}.hero-actions .button{font-size:13px;min-height:44px;padding:9px 14px}.round-link{font-size:12px}.hero-actions{gap:10px 17px}
 .main-nav>a{font-size:23px;padding-block:11px;min-height:51px}.menu-extra .button{min-height:48px}.lightbox-title,.lightbox figcaption{font-size:13px}
}
@media print{body{font-family:Arial,sans-serif;font-size:12pt}.section{padding-block:25px}.rates p,.rates li{font-size:11pt!important}.rates-table,.rates-table th{font-size:9pt}.rates-table td,.rates-table th{padding:6px}.main-nav,.menu-toggle{display:none!important}}

/* Mediterranean editorial refinement: photography, rhythm and readable surfaces. */
@media screen {
 .home-hero{border-radius:20px;box-shadow:none}
 /* A neutral, lighter shade keeps the photograph natural and the copy readable. */
 .hero-visual::after{background:linear-gradient(90deg,rgba(16,24,20,.68) 0%,rgba(16,24,20,.44) 36%,rgba(16,24,20,.08) 65%,transparent 82%),linear-gradient(0deg,rgba(16,24,20,.16),transparent 45%)}
 .hero-image-label{border:0;border-left:2px solid #edc89f;border-radius:0;background:#0e3429a6;padding:12px 16px;letter-spacing:.1em}
 .hero-sea{padding:8px;border-radius:12px;background:#fffdf6;box-shadow:0 12px 35px #092b2859}
 .hero-sea img{border-radius:7px}.hero-sea>span{padding:9px 7px 4px}
 .hero-footnote{padding-top:18px;border-top:1px solid #ffffff40;width:max-content;max-width:100%}
 .booking{border-radius:16px;border-top:3px solid #ae7852;box-shadow:0 10px 32px #173c3208}
 .booking-heading .eyebrow{color:#905031}.booking input:focus-visible,.booking select:focus-visible{outline-offset:2px}
 .stats strong{color:#9a543b;font-weight:550}
 .experiences .section-heading{align-items:start}
 .experiences .section-heading h2{max-width:800px}
 .experience-grid{gap:26px}
 .experience-card,.experience-card:nth-child(2),.experience-card:nth-child(3){border:0;border-radius:16px;background:#eeebe2;box-shadow:none;overflow:hidden}
 .experience-card:nth-child(2){background:#e6eeea}.experience-card:nth-child(3){background:#f1e6d9}
 .experience-image{isolation:isolate}
 .experience-label{background:#fffdf6f2;box-shadow:0 2px 12px #14382d10;border-radius:7px}
 .experience-card>h3{font-weight:600}.experience-card>p{color:#40594c}
 .experience-card:hover{box-shadow:0 14px 32px #173c3214;transform:translateY(-4px)}
 .circle-arrow{background:#fffdf7;transition:background .2s,color .2s}
 .experience-card:hover .circle-arrow{background:var(--deep);color:#fffdf7}
 .about{background:#f0ede4;border-block:1px solid #e3dfd3}
 .about-grid{align-items:start;gap:8%}
 .about-tall{border-radius:18px 18px 4px 4px}
 .about-detail{transform:none;border:8px solid #f0ede4;box-shadow:none;border-radius:14px;right:0}
 .about-images .image-caption{border-left:2px solid #ac7857;padding-left:14px;bottom:17px}
 .about-copy h2{margin-bottom:32px}
 .about-copy p:first-of-type{color:#284b3c;font-weight:500}
 .services{background:#123c34}.services::before{display:none}
 .services .eyebrow{color:#e4c49f}
 .service,.service:first-child,.service:nth-child(3){border-color:#e9e2cd3d;background:#ffffff05;border-radius:10px}
 .service svg{color:#efc99f}
 .electric{border-bottom:1px solid #d5decf}
 .electric .gallery-item{border-radius:10px;padding:12px;border-color:#dce2d5}
 .offer-grid{gap:0;border-radius:18px;overflow:hidden;background:#ede9df}
 .offer-photo,.offer-copy{border-radius:0}
 .offer-photo>span{left:22px;right:22px;bottom:22px;max-width:max-content;background:#123c34e0;padding:12px 15px;border-left:2px solid #edc89f;text-shadow:none;line-height:1.6}
 .offer-copy{background:#ede9df;padding:clamp(30px,4vw,58px)}
 .review{border:1px solid #e0e2d8;border-top:3px solid #b58560;border-radius:4px 4px 14px 14px;box-shadow:none;background:#fffefb}
 .quote-mark{color:#b17b58}.review-author{color:#214d3e}
 .location{background:#e9eee6}.location-grid{gap:7%}
 .map-placeholder,.video-placeholder{border-radius:16px}
 .album{border-top:1px solid var(--line)}
 .photo-strip .gallery-item{border-radius:12px}.photo-strip .gallery-item:nth-child(even){margin-top:0}
 .gallery-item:focus-visible{outline:3px solid #af643f;outline-offset:3px}
 .page-hero{background:none;border:0;border-radius:0;padding:32px 0 38px;margin-block:14px 0;gap:6%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .page-hero>div:first-child{padding:20px 0;min-width:0}
 .page-hero .eyebrow{display:flex;align-items:center;gap:14px;color:#8d5038;letter-spacing:.075em}
 .page-hero .eyebrow::before{content:'';flex:0 0 28px;height:2px;background:#b17d57}
 .page-hero h1{font-size:clamp(38px,4.4vw,63px);line-height:1.17}
 .page-hero h1 em{color:#a45c40}
 .page-hero-image{height:clamp(420px,38vw,560px);border-radius:18px 18px 4px 4px;box-shadow:none}
 .page-hero-image .image-caption{border:0;border-left:2px solid #edc89f;border-radius:0;background:#103b31e8;padding:12px 16px;width:fit-content;max-width:calc(100% - 40px)}
 .hero-facts{padding-top:20px;border-top:1px solid #d9dfd2;gap:14px 22px}
 .hero-facts li{font-weight:500}.hero-facts svg{color:#9c6747}
 .hero-facts a{border-color:#cfd9cc;border-radius:8px;background:#fffefb}
 .section-nav{box-shadow:none;background:#f7f7f0f5}
 .story-copy h3{border-bottom:0;padding-bottom:0}
 .story-copy>h3::after{content:'';display:block;width:44px;height:3px;background:#b17d57;margin-top:24px}
 .story-gallery .gallery-item,.photo-grid .gallery-item{border-radius:12px}
 .gallery-more{background:#f0f2e9;border-color:#dce2d3}
 .amenities{gap:20px}.amenities>div{padding:18px 20px;background:#edf1e8;border:1px solid #dce3d4;border-radius:10px}
 .destination-grid>div{border:0;border-top:2px solid #b4845b;background:#fffefb;border-radius:0 0 12px 12px;box-shadow:none}
 .faq-section{gap:7%}.faq-item{border-color:#d7dfd0;border-radius:10px;background:#fffefb}
 .faq-item[open]{background:#edf2e7;border-color:#a9ba9c}
 .faq-icon{color:#935c3e}.faq-item summary:hover{background:#f0f3eb}
 .contact-info{background:#173f34;color:#f7f5eb;border:0;border-radius:16px}
 .contact-info>.eyebrow,.contact-info h4{color:#edc89f}
 .contact-info>.eyebrow,.contact-info>ul>li{border-color:#bfd1b835}
 .contact-info p,.contact-info a{color:#f7f5eb}
 .contact-info .business-ids{color:#d3dfca;border-color:#bfd1b840}
 .contact-info a[href^="tel:"],.contact-info a[href^="mailto:"]{text-decoration-color:#c2cdb580}
 .contact-info a:hover{text-decoration-color:#edc89f;color:#edc89f}
 .contact-info a:focus-visible,.site-footer a:focus-visible{outline:3px solid #edc89f;outline-offset:4px}
 .contact-info .contact-route{background:#f5f1e4!important;border:0!important;color:#173f34!important;border-radius:8px}
 .contact-form-wrap{border-top:3px solid #b17d57;border-radius:16px;box-shadow:0 10px 32px #173c3206}
 .rate-controls{background:#e8eee2;border-color:#cfdac6}.table-scroll{border-radius:12px}
 .footer-invitation{background:linear-gradient(90deg,#163e34fa 0%,#163e34e8 44%,#143a33ad 100%),url('../images/portfolio/stabilimento-balneare5.jpg') center 57%/cover;color:#fffdf5;padding-block:clamp(62px,7vw,104px);border-bottom:1px solid #dbe3d126}
 .footer-invitation .eyebrow{color:#edc89f}.footer-invitation h2{color:#fffdf5;max-width:780px}
 .footer-invitation em{color:#edc89f}
 .footer-invitation .button{background:#faf5e7;border-color:#faf5e7;color:#143c32;white-space:normal;max-width:100%}
 .footer-invitation .button:hover{background:#fffefb}
 .footer-grid{align-items:start;row-gap:38px}
 .footer-navigation{grid-column:1/-1;align-content:start;margin:0;padding-bottom:24px;border-bottom-color:#afc5b340}
 .footer-grid>.footer-column:first-of-type p{color:#d3dfca;font-size:15px;line-height:1.9}
 .site-footer{background:#10372f}
}
@media screen and (min-width:1101px){
 .experience-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);grid-template-rows:1fr 1fr}
 .experience-card:first-child{grid-row:1/3;display:flex;flex-direction:column}
 .experience-card:first-child .experience-image{flex:1;min-height:330px}
 .experience-card:first-child .experience-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
 .experience-card:first-child>h3{font-size:clamp(28px,2.3vw,36px)}
 .experience-card:nth-child(n+2){display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;min-height:310px}
 .experience-card:nth-child(n+2) .experience-image{grid-column:1;grid-row:1/4;margin:0;height:100%}
 .experience-card:nth-child(n+2) .experience-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
 .experience-card:nth-child(n+2)>.eyebrow,.experience-card:nth-child(n+2)>h3,.experience-card:nth-child(n+2)>p{grid-column:2;margin-inline:24px}
 .experience-card:nth-child(n+2)>.eyebrow{margin-top:30px;margin-bottom:14px}
 .experience-card:nth-child(n+2)>h3{font-size:26px;line-height:1.3;margin-bottom:14px}
 .experience-card:nth-child(n+2)>p{font-size:17px;line-height:1.8;margin-bottom:28px}
 .services>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:7%;align-items:center}
 .services .section-heading{margin:0}.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .services h2{font-size:clamp(34px,3.4vw,49px)}
 .service,.service:first-child,.service:nth-child(3){padding:27px 23px}
 .service svg{margin-bottom:21px}
}
@media screen and (min-width:1101px) and (min-height:800px){
 .about-images{position:sticky;top:calc(var(--header-height) + 28px);align-self:start;min-height:580px}
 .about-tall{height:490px}.about-detail{height:220px}
}
@media screen and (min-width:761px) and (max-width:1100px){
 .experience-grid{gap:18px}.experience-card>.eyebrow,.experience-card>h3,.experience-card>p{margin-inline:20px}
 .experience-card>h3{font-size:26px}.experience-card>p{font-size:17px}
}
@media screen and (min-width:621px) and (max-width:1050px){
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
 .footer-grid>.footer-column:first-of-type{grid-column:1/-1;max-width:700px}
}
@media screen and (max-width:800px){
 .page-hero{grid-template-columns:minmax(0,1fr);padding-block:24px 32px;gap:26px;margin-top:0}
 .page-hero>div:first-child{padding:0}.page-hero h1{font-size:clamp(36px,6vw,50px)}
 .page-hero-image{height:390px;max-height:none;border-radius:14px 14px 4px 4px}
 .about-grid{gap:40px}.about-images{position:relative}
 .offer-grid{gap:0}.offer-copy{padding:32px}
 .invitation-row{flex-wrap:wrap}.footer-invitation .invitation-row h2{margin-bottom:0}
 .footer-invitation .button{margin-top:26px}
}
@media screen and (max-width:620px){
 .home-hero{border-radius:12px}.hero-footnote{padding-top:0;border:0}
 .hero-visual::after{background:linear-gradient(90deg,rgba(16,24,20,.64),rgba(16,24,20,.42) 66%,rgba(16,24,20,.24)),linear-gradient(0deg,rgba(16,24,20,.12),transparent 60%)}
 .hero-sea{border-radius:9px}.hero-sea>span{padding:7px 5px 2px}
 .experiences .section-heading{margin-bottom:30px}.experience-grid{gap:25px}
 .experience-image img,.experience-card:nth-child(2) img,.experience-card:nth-child(3) img{aspect-ratio:1.32}
 .experience-card>.eyebrow{margin-top:25px}.experience-card>p{margin-bottom:29px}
 .about-images{padding-right:26px}.about-detail{border-width:6px}
 .about-images .image-caption{padding-left:10px;max-width:132px}
 .offer-copy{padding:30px 24px}.offer-photo>span{left:18px;right:18px;bottom:18px;font-size:11px}
 .page-hero{padding-block:25px 30px;gap:25px}.page-hero h1{font-size:clamp(33px,8vw,45px)}
 .page-hero .eyebrow{gap:10px;letter-spacing:.035em}.page-hero .eyebrow::before{flex-basis:20px}
 .page-hero-image{height:310px}.page-hero-image .image-caption{left:15px;right:15px;bottom:15px;padding:10px 12px;max-width:calc(100% - 30px)}
 .hero-facts{padding-top:19px;gap:13px 17px}
 .amenities{gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.amenities>div{padding:16px;gap:12px}
 .contact-info{border-radius:12px}.contact-form-wrap{border-radius:12px}
 .footer-invitation{background:linear-gradient(#153d34eb,#153d34dc),url('../images/portfolio/stabilimento-balneare5.jpg') center/cover;padding-block:60px}
 .footer-invitation .invitation-row h2{font-size:35px;line-height:1.3}
}
@media screen and (max-width:370px){
 .page-hero h1{font-size:31px}.page-hero-image{height:255px}.page-hero .eyebrow{font-size:11px}
 .experience-card>h3{font-size:25px}.experience-card>.eyebrow,.experience-card>h3,.experience-card>p{margin-inline:20px}
 .amenities>div{padding:14px 12px;gap:10px}.footer-invitation .invitation-row h2{font-size:30px}
}
@media screen and (max-height:500px){.page-hero-image{height:260px}}
@media(prefers-reduced-motion:reduce){.experience-card,.circle-arrow{transition:none}}

/* Meaningful symbols for experiences and practical questions. */
.story-copy>h4:first-child{margin-top:0}
.experience-label{display:inline-flex;align-items:center;gap:9px;max-width:calc(100% - 34px);padding:10px 13px;background:#fffdf6f5;border:1px solid #e8decc;border-radius:9px;box-shadow:0 3px 14px #173c3214;letter-spacing:0;line-height:1.35}
.experience-label svg{display:block;flex:0 0 24px;width:24px;height:24px;color:#95603f}
.experience-label-text{font-family:var(--sans);font-size:13px;font-weight:650;letter-spacing:.01em;color:#173f34}
.faq-item summary{grid-template-columns:36px minmax(0,1fr) 22px;gap:16px;align-items:center}
.faq-symbol{display:grid;place-items:center;width:36px;height:36px;border:1px solid #dce4d3;border-radius:8px;background:#edf1e6;color:#93613f}
.faq-symbol svg{display:block;width:23px;height:23px}
.faq-item summary>span:nth-child(2){min-width:0}
.faq-item[open] .faq-symbol{background:#173f34;border-color:#173f34;color:#edc89f}
@media(max-width:620px){
 .experience-label{top:14px;left:14px;max-width:calc(100% - 28px);padding:9px 11px;gap:8px}
 .experience-label svg{flex-basis:22px;width:22px;height:22px}
 .faq-item summary{grid-template-columns:30px minmax(0,1fr) 20px;gap:11px}
 .faq-symbol{width:30px;height:30px;border-radius:7px}.faq-symbol svg{width:21px;height:21px}
}
@media(max-width:370px){
 .faq-item summary{grid-template-columns:28px minmax(0,1fr) 18px;gap:9px}
 .faq-symbol{width:28px;height:28px}.faq-symbol svg{width:20px;height:20px}
}

/* Home: keep the complete introduction inside the first, stable viewport.
   A minimum height lets enlarged text grow naturally instead of being clipped. */
@media screen {
 .home-hero{
  --home-topline-height:32px;
  --home-frame-gap:18px;
  --home-bottom-gap:max(var(--home-frame-gap),env(safe-area-inset-bottom,0px));
  width:calc(100% - var(--home-frame-gap) - var(--home-frame-gap));
  max-width:none;
  height:auto;
  min-height:calc(100vh - var(--header-height) - var(--home-topline-height) - var(--home-frame-gap) - var(--home-bottom-gap));
  min-height:calc(100svh - var(--header-height) - var(--home-topline-height) - var(--home-frame-gap) - var(--home-bottom-gap));
  margin-top:var(--home-frame-gap);
 }
 .home-hero .hero-copy{height:auto;min-height:inherit;padding-block:clamp(24px,5svh,64px);padding-inline:clamp(25px,6.3vw,108px)}
 .home-hero .hero-copy>*{flex-shrink:0;min-width:0}
 .home-hero .hero-actions .round-link{display:inline-flex;min-height:44px}
 .home-hero .hero-actions a{max-width:100%}
}
@media screen and (max-width:800px){
 .home-hero .hero-copy{max-width:100%;padding-inline:6%}
}
@media screen and (max-width:620px){
 .home-hero{--home-topline-height:28px;--home-frame-gap:10px}
 .home-hero .hero-copy{padding:28px 25px 162px}
 .home-hero .hero-copy>p br{display:none}
 .home-hero .hero-sea{bottom:22px;right:22px}
}
@media screen and (max-width:370px){
 .home-hero .hero-copy{padding-inline:19px}
 .home-hero .hero-copy h1{font-size:clamp(32px,9.5vw,35px)}
}
@media screen and (max-width:620px) and (max-height:799px), screen and (max-width:359px){
 .home-hero .hero-copy{padding-block:26px}
 .home-hero .hero-sea{display:none}
}
@media screen and (min-width:621px) and (max-height:740px){
 .home-hero .hero-copy{padding-block:22px}
 .home-hero .hero-footnote{display:none}
}
@media screen and (max-height:500px){
 :root{--header-height:63px}
 .home-hero{--home-topline-height:0px;--home-frame-gap:8px}
 .home-hero .hero-copy{padding:15px 5%}
 .home-hero .hero-copy h1{font-size:clamp(29px,5.2vw,43px)}
 .home-hero .hero-copy>p{line-height:1.55}
}
@media screen and (min-width:621px) and (max-height:600px){
 .home-hero .hero-copy h1{font-size:clamp(32px,4.6vw,54px);margin-bottom:14px}
 .home-hero .hero-copy h1 br{display:none}
 .home-hero .hero-copy>p{font-size:16px;line-height:1.6;margin-bottom:16px}
 .home-hero .hero-kicker{font-size:10px;margin-bottom:12px}
 .home-hero .hero-sea{display:none}
}
@media screen and (max-width:319px) and (max-height:740px){
 .home-hero .hero-copy{padding:16px}
 .home-hero .hero-kicker{font-size:9px;margin-bottom:12px}
 .home-hero .hero-copy h1{font-size:29px;margin-bottom:12px}
 .home-hero .hero-copy>p{font-size:16px;line-height:1.55;margin-bottom:16px}
 .home-hero .hero-actions{gap:10px}
 .home-hero .hero-actions .button{font-size:13px;gap:12px;padding:10px 12px;min-height:44px}
}
@media screen and (min-width:320px) and (max-width:620px) and (min-height:501px) and (max-height:540px){
 .home-hero .hero-copy{padding-block:22px}
}
@media screen and (max-height:360px){
 .home-hero .hero-copy{padding-block:12px}
 .home-hero .hero-copy h1{font-size:clamp(29px,4vw,40px);margin-bottom:8px}
 .home-hero .hero-copy>p{font-size:15px;line-height:1.5;margin-bottom:10px}
 .home-hero .hero-kicker{margin-bottom:8px}
}

/* Legal footer: give registration details, privacy and credits their own space. */
.legal.footer-legal{margin:28px 0 0;padding:26px 0 24px;font-size:14px;line-height:1.7;border-top:1px solid #afc5b330;color:#d3dfca}
.footer-legal .footer-copyright{margin:0 0 22px;color:#f4f5eb;font-size:17px;font-weight:600;line-height:1.5}
.footer-registration{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 28px;margin:0}
.footer-registration>div{min-width:0}
.footer-registration dt{margin:0 0 6px;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.035em;color:#b2c6b5}
.footer-registration dd{margin:0;font-size:15px;line-height:1.7;color:#e6eddf;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;hyphens:none}
.footer-registration dd a{overflow-wrap:anywhere}
.footer-legal a{color:inherit;text-decoration-thickness:1px;text-decoration-color:#93ad9680;text-underline-offset:4px}
.footer-legal a:hover{color:#edc89f;text-decoration-color:currentColor}
.footer-legal-links{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 36px;margin-top:25px;padding-top:22px;border-top:1px solid #afc5b324}
.footer-legal .footer-privacy,.footer-legal .footer-credit{margin:0;font-size:14px;line-height:1.85;min-width:0}
.footer-privacy a{overflow-wrap:anywhere}
.footer-legal .footer-credit{text-align:right;color:#b9cdbb}
.footer-credit a{display:inline-block;white-space:nowrap}
.footer-legal .footer-credit img{display:inline-block;width:13px;height:auto;vertical-align:middle;margin-inline:2px}
.footer-legal+.cookie-notice{margin:0;padding:20px 0 0;border-top:1px solid #afc5b324;font-size:14px;line-height:1.85;color:#b9cdbb;overflow-wrap:anywhere}
@media(max-width:1000px){.footer-registration{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-legal-links{grid-template-columns:minmax(0,1fr)}.footer-legal .footer-credit{text-align:left}}
@media(max-width:560px){
 .legal.footer-legal{padding-block:23px;margin-top:24px}
 .footer-legal .footer-copyright{margin-bottom:20px;font-size:16px}
 .footer-registration{grid-template-columns:minmax(0,1fr);gap:17px}
 .footer-registration dt{margin-bottom:3px}
 .footer-legal-links{gap:18px;margin-top:23px;padding-top:20px}
}
@media print{.legal.footer-legal,.footer-legal .footer-copyright,.footer-registration dt,.footer-registration dd,.footer-legal .footer-credit,.footer-legal+.cookie-notice{color:#111}.legal.footer-legal,.footer-legal-links,.footer-legal+.cookie-notice{border-color:#aaa}}

/* Let photographs fill gallery cards stretched by adjacent, offset items. */
.gallery-item{display:grid}
.gallery-item>img{height:100%;min-height:0;min-width:0}

/* Keep photo enlargement icons centered and crisp at every screen size. */
.zoom{line-height:1}
.zoom svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Keep charging-station text aligned beside its icon at every width. */
.electric>div{min-width:0}
.electric>div:first-child{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:22px;align-items:start}
.electric>div:first-child>svg{float:none;grid-column:1;grid-row:1;margin:3px 0 0}
.electric h2,.electric p{grid-column:2;min-width:0;overflow-wrap:anywhere}
.electric .photo-grid{width:270px}
.electric .gallery-item .zoom{width:28px;height:28px;right:6px;bottom:6px}
.electric .zoom svg{width:17px;height:17px}
@media(max-width:760px){
 .electric{grid-template-columns:minmax(0,1fr);gap:22px}
 .electric .photo-grid{justify-self:start;width:calc(100% - 52px);margin-left:52px}
}
@media(max-width:620px){
 .electric>div:first-child{grid-template-columns:26px minmax(0,1fr);column-gap:14px}
 .electric .photo-grid{width:calc(100% - 40px);margin-left:40px}
}

/* Internal actions point and move in the direction of navigation. */
.arrow-internal{flex-shrink:0}
/* Center the drawn arrow independently of the font's baseline. */
.round-link>.arrow-internal{padding:0;line-height:1}
.round-link>.arrow-internal>svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.button:hover>.arrow-internal{transform:translateX(3px)}

/* Review disclosures: a centered plus becomes a minus when expanded. */
.review p{overflow-wrap:anywhere}
.review summary{gap:14px;min-height:56px;overflow-wrap:anywhere}
.review-toggle-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #d4dece;border-radius:50%;background:#edf1e8;color:#214d3e;transition:background .18s,border-color .18s}
.review-toggle-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.review-toggle-vertical{transition:opacity .18s}
.review details[open] .review-toggle-vertical{opacity:0}
.review summary:hover .review-toggle-icon,.review summary:focus-visible .review-toggle-icon{background:#e0e8da;border-color:#9aaf91}
@media(max-width:320px){.review summary{gap:4px}}
@media(prefers-reduced-motion:reduce){.review-toggle-icon,.review-toggle-vertical{transition:none}}

/* Rotate the gallery arrow inside a stable square, without overflowing its row. */
.gallery-more>summary>.arrow-internal{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;line-height:1;transition:none}
.gallery-more[open]>summary>.arrow-internal{transform:none}
.gallery-more>summary>.arrow-internal>svg{display:block;width:22px;height:22px;transition:transform .2s}
.gallery-more[open]>summary>.arrow-internal>svg{transform:rotate(90deg)}
@media(prefers-reduced-motion:reduce){.gallery-more>summary>.arrow-internal>svg{transition:none}}

/* Useful local context and links alongside the practical travel questions. */
.faq-section{row-gap:28px}
.faq-intro{min-width:0}
.faq-guide{margin-top:28px;padding:22px 24px;border:1px solid #e2dfd3;border-top:3px solid #ac7857;border-radius:4px 4px 12px 12px;background:#f2efe6;overflow-wrap:anywhere}
.faq-guide h3{margin:0 0 12px;font-size:21px;font-weight:600;line-height:1.4;letter-spacing:-.025em;color:#123c34}
.faq-guide p{margin:0;color:#485d51;font-size:17px;line-height:1.8}
.faq-guide h3,.faq-guide p,.faq-guide a{overflow-wrap:anywhere}
.faq-guide a{color:#214d3e;text-decoration:underline;text-decoration-color:#789481;text-decoration-thickness:1px;text-underline-offset:3px}
.faq-guide a:hover{color:#8d5038;text-decoration-color:currentColor}
@media(max-width:620px){.faq-guide{margin-top:22px;padding:20px}.faq-guide h3{font-size:20px}}
@media(max-width:370px){.faq-guide{padding:18px}.faq-guide h3{font-size:19px}}
@media print{.faq-guide{background:none;border-color:#aaa;break-inside:avoid}.faq-guide h3,.faq-guide p,.faq-guide a{color:#111}}

/* A map symbol identifies the embedded map, including when its label wraps. */
/* Minimum heights preserve the layout while enlarged text can grow naturally. */
.map-placeholder{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(min-content,1fr) auto auto;height:auto;align-items:center;justify-items:center}
.map-placeholder>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.map-placeholder>.map-card{position:relative;inset:auto;transform:none;max-width:calc(100% - 32px);margin:20px 0;white-space:normal;z-index:1}
.map-placeholder>.button{position:relative;inset:auto;transform:none;width:max-content;max-width:calc(100% - 32px);margin:0 16px 12px;gap:14px;z-index:1}
.map-placeholder>.button:hover{transform:translateY(-2px)}
.map-placeholder>.embed-notice{position:relative;inset:auto;width:100%;align-self:end}
.map-placeholder>.embed-notice a{overflow-wrap:anywhere}
.map-placeholder>.button .map-button-icon{display:block;flex:0 0 22px;width:22px;height:22px}

/* Location: readable travel details and a distinct address panel. */
.location-grid{row-gap:40px}
.location-copy,.location-arrival-copy{min-width:0}
.location-copy h2,.location-copy h2 em,.location-copy .location-intro,.location-highlight strong{overflow-wrap:anywhere}
.location-description .location-intro{max-width:65ch;margin:0 0 26px}
.location-highlights{padding:4px 22px;background:#fffdf6;border:1px solid #d5dfd0;border-radius:14px}
.location-highlight{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:16px;padding:20px 0}
.location-highlight+.location-highlight{border-top:1px solid #e1e6db}
.location-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf2e7;color:#305a49}
.location-symbol svg{display:block;width:24px;height:24px}
.location-description .location-highlight p{margin:0;line-height:1.75;overflow-wrap:anywhere}
.location-highlight strong{font-weight:650;color:var(--ink)}
.location-arrival{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;padding:22px;background:#173f34;color:#fffdf6;border-radius:14px}
.location-arrival .location-symbol{background:#ffffff0d;color:#edc89f}
.location-arrival .address{margin:0;padding:0;border:0;font-size:16px;font-weight:500;line-height:1.8;color:inherit;overflow-wrap:anywhere}
.location-arrival .text-link{width:fit-content;max-width:100%;min-height:44px;margin:8px 0 0;gap:16px;font-size:15px;color:#edc89f;overflow-wrap:anywhere}
.location-arrival .text-link>span{flex-shrink:0}
.location-arrival .text-link:hover{color:#fffdf6}
.location-arrival .text-link:focus-visible{outline-color:#edc89f}
@media(max-width:1050px){
 .location>.wrap.location-grid{grid-template-columns:minmax(0,1fr);row-gap:36px}
}
@media(max-width:620px){
 .location-highlights{padding:2px 18px}
 .location-highlight{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:18px 0}
 .location-symbol{width:38px;height:38px;border-radius:10px}
 .location-arrival{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:20px 18px}
}
@media(max-width:370px){
 .location-highlights{padding-inline:14px}
 .location-highlight,.location-arrival{grid-template-columns:32px minmax(0,1fr);gap:10px}
 .location-symbol{width:32px;height:36px}
 .location-symbol svg{width:22px;height:22px}
 .location-arrival{padding:18px 14px}
}

/* Keep underlined action links readable across page-specific layouts. */
:root{--text-link-size:17px}
.text-link,.story-copy .text-link,.page-hero-actions .text-link,.location-arrival .text-link{
 font-size:var(--text-link-size);line-height:1.5;min-height:48px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;
}
.text-link>span{flex-shrink:0}

/* Restaurant takeaway information, with a compact label and readable copy. */
.page-ristorante .takeaway-notice{padding:0;border:0;background:none}
.takeaway-panel{
 display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:28px;
 padding:32px 36px;border:1px solid #d8dfd0;border-radius:18px;
 background:radial-gradient(ellipse at top right,#dce6d080,transparent 60%),#f5f1e8;
}
.takeaway-symbol{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#173f34;color:#edc89f;box-shadow:inset 0 0 0 1px #ffffff0d}
.takeaway-symbol svg{display:block;width:38px;height:38px}
.takeaway-copy{min-width:0}
.page-ristorante .takeaway-notice h4{margin:0 0 10px;font:650 14px/1.6 var(--sans);letter-spacing:.1em;color:#8d5038;overflow-wrap:anywhere}
.page-ristorante .takeaway-notice p{max-width:78ch;margin:0;font-size:var(--text-body);line-height:1.8;color:var(--reading-color);overflow-wrap:anywhere}
.takeaway-notice strong{font-weight:650;color:#173f34;overflow-wrap:anywhere}
@media(max-width:620px){
 .takeaway-panel{grid-template-columns:54px minmax(0,1fr);gap:18px 16px;padding:24px;border-radius:14px}
 .takeaway-symbol{width:54px;height:54px;border-radius:15px}
 .takeaway-symbol svg{width:30px;height:30px}
 .takeaway-copy{display:contents}
 .page-ristorante .takeaway-notice h4{margin:0;letter-spacing:.075em}
 .page-ristorante .takeaway-notice p{grid-column:1/-1}
}
@media(max-width:370px){
 .takeaway-panel{padding:20px;column-gap:12px}
}

/* Hotel story: a quiet, illustrated reading panel for the original copy. */
.hotel-story{row-gap:36px}
.hotel-story .story-copy{min-width:0}
.hotel-story .story-copy h3,.hotel-story .story-copy h5{overflow-wrap:anywhere}
.hotel-story-details{margin:28px 0 20px;padding:8px 28px;border:1px solid #dbe2d4;border-radius:18px;background:#fffdf6}
.hotel-story-block{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:18px;padding:26px 0}
.hotel-story-block+.hotel-story-block{border-top:1px solid #e0e5d8}
.hotel-story-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf2e7;color:#305a49}
.hotel-story-symbol svg{display:block;width:24px;height:24px}
.hotel-story-block:last-child .hotel-story-symbol{background:#f4e9da;color:#8d5038}
.hotel-story-text{min-width:0}
.hotel-story .hotel-story-text p{max-width:none;margin:0;line-height:1.85;overflow-wrap:anywhere}
.hotel-story .hotel-story-text p+p{margin-top:20px}
.hotel-story-text strong{font-weight:650;color:#173f34;overflow-wrap:anywhere}
.hotel-story-text .word-nowrap{white-space:normal;overflow-wrap:anywhere}
@media(max-width:620px){
 .hotel-story-details{margin-top:24px;padding:0 22px;border-radius:14px}
 .hotel-story-block{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0}
 .hotel-story-symbol{width:40px;height:40px;border-radius:12px}
}
@media(max-width:370px){
 .hotel-story-details{padding-inline:18px}
 .hotel-story-block{padding-block:22px}
}
@media print{
 .hotel-story-details{background:none;border-color:#aaa}
 .hotel-story-symbol{background:none;color:#111}
}


/* Consistent reading surfaces for descriptions, practical notes and local lists. */
.editorial-story{row-gap:36px}
.editorial-story .story-copy,.reading-copy{min-width:0}
.reading-copy{overflow-wrap:anywhere}
.editorial-story .story-copy h3,.editorial-story .story-copy h5{overflow-wrap:anywhere}
.reading-panel{margin:24px 0;padding:6px 26px;border:1px solid #dbe2d4;border-radius:18px;background:#fffdf6}
.reading-block{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:17px;padding:25px 0}
.reading-block+.reading-block{border-top:1px solid #e0e5d8}
.reading-symbol{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#edf2e7;color:#305a49}
.reading-symbol svg{display:block;width:24px;height:24px}
.reading-block:last-child>.reading-symbol{background:#f4e9da;color:#8d5038}
.reading-panel .reading-copy p{max-width:none;margin:0;font-size:var(--text-body);line-height:1.85;color:var(--reading-color)}
.reading-panel .reading-copy p+p{margin-top:20px}
.reading-panel :is(p,h3,h4,h5,h6,span,strong,i,a),.rate-note :is(h4,li,span,a){overflow-wrap:anywhere}
.reading-panel .word-nowrap,.rate-note .word-nowrap{white-space:normal}
.reading-panel--topic{padding:28px}
.reading-panel--topic>.reading-symbol{margin-bottom:20px}
.story-copy .reading-panel--topic h4{margin:0 0 20px;font-size:clamp(24px,2.2vw,30px);line-height:1.35;letter-spacing:-.025em}
.story-copy .reading-panel--topic p{margin:0;font-size:var(--text-body);line-height:1.85}
.reading-panel--topic:first-child{margin-top:0}
.room-description .reading-panel--intro{margin:0;padding:40px clamp(24px,5vw,60px);background:radial-gradient(ellipse at top right,#e3ebd680,transparent 65%),#fffdf6}
.reading-panel--intro>.reading-symbol{width:54px;height:54px;margin:0 auto 24px;border-radius:16px}
.reading-panel--intro>.reading-symbol svg{width:30px;height:30px}
.room-description .reading-panel h6{line-height:1.7}
.room-description .reading-panel h3{max-width:25ch;margin-inline:auto}
.room-description .reading-panel p{margin:22px auto;max-width:62ch}
.room-description .reading-panel .text-link{margin:0;gap:16px}
.rate-notes{display:grid;gap:24px;margin-top:36px}
.rate-note{min-width:0;padding:28px 32px;border:1px solid #dbe2d4;border-radius:18px;background:#fffdf6}
.rate-note-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.rate-note-heading>.reading-symbol{background:#173f34;color:#edc89f;width:46px;height:46px;border-radius:14px}
.rates .rate-note-heading h4{min-width:0;margin:0;font-size:26px;font-weight:550;line-height:1.35;letter-spacing:-.025em}
.rate-note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0;padding:0;list-style:none}
.rate-note-list>li{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:14px;margin:0;padding:23px 0;border-top:1px solid #e0e5d8;color:var(--reading-color);min-width:0}
.rate-note-list>li>.reading-symbol{width:36px;height:36px;border-radius:11px}
.rate-note-list>li>.reading-symbol svg{width:22px;height:22px}
.rate-note-list a{color:#214d3e;text-decoration:underline;text-decoration-color:#789481;text-underline-offset:3px}
.rate-note-list a:hover{color:#8d5038}
.rate-note-list>.rate-note-wide{grid-column:1/-1;margin-top:6px;padding:24px;border:1px solid #dbe2d4;border-radius:12px;background:#f0f3e9}
.rate-note-lines{display:grid;gap:0;margin-top:18px}
.rate-note-lines>span{display:block;padding:12px 0;border-top:1px solid #d9e1d1;line-height:1.8}
.rate-note-lines>span:last-child{padding-bottom:0}
.destination-grid.editorial-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.editorial-destinations>.destination-note{min-width:0;padding:28px;border:1px solid #dbe2d4;border-top:3px solid #b4845b;border-radius:4px 4px 16px 16px;background:#fffdf6}
.editorial-destinations h4{margin:0 0 20px;font-size:25px;line-height:1.35;overflow-wrap:anywhere}
.destination-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12em),1fr));gap:12px 20px;margin:0;padding:0;list-style:none;font-size:var(--text-body)}
.destination-list>li{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:.5em;font-size:var(--text-body);line-height:1.7;overflow-wrap:anywhere}
.destination-bullet{color:#9a543b;font-size:1em;line-height:1}
@media(max-width:900px){
 .rate-note-list{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:620px){
 .reading-panel{padding:0 22px;border-radius:14px}
 .reading-block{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0}
 .reading-panel--topic{padding:24px}
 .story-copy .reading-panel--topic h4{font-size:24px}
 .room-description .reading-panel--intro{padding:28px 24px;border-radius:14px}
 .rate-note{padding:24px 22px;border-radius:14px}
 .rate-note-heading{gap:13px}
 .rates .rate-note-heading h4{font-size:24px}
 .rate-note-list>li{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 0}
 .rate-note-list>.rate-note-wide{padding:20px 16px}
 .destination-grid.editorial-destinations{grid-template-columns:minmax(0,1fr)}
 .editorial-destinations>.destination-note{padding:24px}
 .editorial-destinations h4{font-size:24px}
}
@media(max-width:370px){
 .reading-panel,.reading-panel--topic,.room-description .reading-panel--intro,.rate-note,.editorial-destinations>.destination-note{padding-inline:18px}
 .rate-note-heading{align-items:start;flex-direction:column}
 .rate-note-list>.rate-note-wide{padding:18px 12px}
}
@media print{
 .reading-panel,.rate-note,.rate-note-list>.rate-note-wide,.editorial-destinations>.destination-note{background:none;border-color:#aaa;box-shadow:none}
 .reading-symbol,.rate-note-heading>.reading-symbol{background:none;color:#111}
 .rate-note-list,.destination-grid.editorial-destinations{grid-template-columns:minmax(0,1fr)}
}


/* Period A comprises two separate date ranges in every pricing view. */
.rate-period-field{min-width:0}
.period-a-note{margin-top:12px;padding:14px 16px;border:1px solid #d1dcc8;border-radius:8px;background:#fffdf6}
.period-a-note-title{display:block;margin-bottom:10px;font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.rate-period-ranges{display:grid;justify-items:start;gap:4px;min-width:0;max-width:100%;font-variant-numeric:tabular-nums;line-height:1.5;white-space:normal}
.rate-date-range{display:block;max-width:100%;padding:5px 9px;border:1px solid #d5dfcc;border-radius:6px;background:#f0f4e9;color:#173f34;font-size:inherit;font-weight:600;line-height:1.6;white-space:normal}
.rate-date{white-space:nowrap}
.rate-range-join{display:block;padding-inline:10px;color:#52674d;font-size:14px;font-weight:400;line-height:1.4;overflow-wrap:anywhere}
.period-a-note .rate-period-ranges{grid-template-columns:minmax(0,max-content) auto minmax(0,max-content);justify-content:start;align-items:center;gap:8px;font-size:16px}
.period-a-note .rate-range-join{padding:0}
.rate-period-cell{vertical-align:middle}
.rate-period-cell .rate-period-ranges{width:max-content}
.rate-card>summary .rate-period-ranges,.rate-card>summary .rate-date-range,.rate-card>summary .rate-date{white-space:normal}
.rate-card>summary .rate-date{white-space:nowrap}
.rate-card[data-period="A"]>summary{align-items:center}
.rate-card[data-period="A"]>summary>b,.rate-card[data-period="A"]>summary::after{flex-shrink:0}
@media(max-width:500px){
 .period-a-note{padding:13px 14px}
 .period-a-note .rate-period-ranges{grid-template-columns:minmax(0,1fr);gap:4px}
 .period-a-note .rate-range-join{padding-inline:10px}
}
@media print{
 .rate-date-range{background:none;border-color:#aaa;color:#111}
 .rate-range-join{color:#111}
}


/* Room introduction: a clear title and a contrasting information panel. */
.room-description{max-width:1200px;text-align:left}
.room-intro-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);border:1px solid #d8e0d1;border-radius:22px;background:#fffdf6}
.room-intro-heading,.room-intro-details{min-width:0;padding:clamp(28px,3.4vw,44px)}
.room-intro-label{margin-bottom:22px}
.room-intro-symbol{display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;border:1px solid #e8d8bf;border-radius:15px;background:#f4ead9;color:#8d5038}
.room-intro-symbol svg{display:block;width:28px;height:28px}
.room-intro-eyebrow{display:block;max-width:42ch;font-size:14px;font-weight:600;line-height:1.65;letter-spacing:.055em;text-transform:uppercase;color:#9a5034;overflow-wrap:anywhere}
.room-description .room-intro-heading h2{max-width:24ch;margin:0;font-size:clamp(30px,3.1vw,42px);line-height:1.24;letter-spacing:-.035em;color:#173f34;overflow-wrap:anywhere}
.room-intro-details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:30px;border-radius:0 21px 21px 0;background:#173f34;color:#fffdf6}
.room-description .room-intro-details p{max-width:none;margin:0;font-size:20px;line-height:1.8;color:#f3f1e7;overflow-wrap:anywhere}
.room-description .room-intro-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin:0;padding:17px 20px;border:1px solid #fffdf6;border-radius:9px;background:#fffdf6;color:#173f34;text-align:left;text-decoration:none;line-height:1.55;transition:background .18s,border-color .18s}
.room-intro-cta svg{display:block;flex:0 0 22px;width:22px;height:22px}
.room-description .room-intro-cta:hover{background:#edc89f;border-color:#edc89f;color:#173f34}
.room-description .room-intro-cta:focus-visible{outline:3px solid #edc89f;outline-offset:5px}
@media(max-width:900px){
 .room-intro-panel{grid-template-columns:minmax(0,1fr)}
 .room-intro-details{border-radius:0 0 21px 21px;gap:24px}
 .room-description .room-intro-heading h2{max-width:28ch}
 .room-description .room-intro-cta{width:auto;max-width:100%}
}
@media(max-width:620px){
 .room-intro-panel{border-radius:16px}
 .room-intro-heading,.room-intro-details{padding:28px 24px}
 .room-intro-details{border-radius:0 0 15px 15px}
 .room-intro-symbol{width:46px;height:46px;margin-bottom:20px;border-radius:13px}
 .room-intro-eyebrow{font-size:13px;letter-spacing:.035em}
 .room-description .room-intro-heading h2{font-size:30px;line-height:1.3}
 .room-description .room-intro-details p{font-size:18px;line-height:1.85}
 .room-description .room-intro-cta{width:100%;padding:15px 17px;gap:14px}
}
@media(max-width:370px){
 .room-intro-heading,.room-intro-details{padding:25px 18px}
 .room-description .room-intro-heading h2{font-size:28px}
 .room-description .room-intro-cta{padding-inline:14px;gap:12px}
}
@media(prefers-reduced-motion:reduce){.room-description .room-intro-cta{transition:none}}
@media print{
 .room-intro-panel{display:block;background:none;border-color:#aaa}
 .room-intro-details{background:none;color:#111}
 .room-description .room-intro-heading h2,.room-description .room-intro-details p,.room-intro-eyebrow{color:#111}
 .room-description .room-intro-cta{background:none;border-color:#aaa;color:#111}
}

/* Salento beach directory: a full-width heading and adaptable regional cards. */
.beach-directory-heading{display:flex;align-items:center;gap:24px;margin-bottom:28px;padding:30px 34px;border-radius:18px;background:#173f34;color:#fffdf6}
.beach-directory .beach-directory-heading h2{min-width:0;max-width:none;margin:0;color:inherit;font-size:clamp(30px,3.5vw,46px);line-height:1.25;letter-spacing:-.035em;overflow-wrap:anywhere}
.beach-directory-symbol{display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;border:1px solid #ffffff24;border-radius:17px;background:#ffffff08;color:#edc89f}
.beach-directory-symbol svg{display:block;width:32px;height:32px}
.beach-directory .destination-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,28em),1fr));gap:24px;font-size:var(--text-body)}
.beach-directory .destination-note{padding:26px 28px;border:1px solid #d8e0d1;border-radius:16px;background:#fffdf6;box-shadow:none}
.destination-note-heading{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:20px}
.destination-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf2e7;color:#305a49}
.destination-symbol svg{display:block;width:22px;height:22px}
.beach-directory .destination-note h3{min-width:0;margin:0;font-size:24px;font-weight:600;line-height:1.4;letter-spacing:-.025em;color:#173f34;overflow-wrap:anywhere}
.beach-directory .destination-list{gap:12px 22px}
.beach-directory .destination-list>li{padding-top:10px;border-top:1px solid #e1e7db;color:#485d51}
@media(max-width:620px){
 .beach-directory-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:22px;padding:25px 24px;border-radius:14px}
 .beach-directory-symbol{flex-basis:46px;width:46px;height:46px;border-radius:13px}
 .beach-directory-symbol svg{width:28px;height:28px}
 .beach-directory .beach-directory-heading h2{font-size:30px}
 .beach-directory .destination-grid{gap:18px}
 .beach-directory .destination-note{padding:24px;border-radius:14px}
 .destination-note-heading{grid-template-columns:34px minmax(0,1fr);gap:12px;margin-bottom:18px}
 .destination-symbol{width:34px;height:36px;border-radius:10px}
 .beach-directory .destination-note h3{font-size:23px}
}
@media(max-width:370px){
 .beach-directory-heading,.beach-directory .destination-note{padding:22px 18px}
 .beach-directory .beach-directory-heading h2{font-size:28px}
 .destination-note-heading{grid-template-columns:minmax(0,1fr);gap:14px}
 .beach-directory .destination-note h3{font-size:22px}
}
@media print{
 .beach-directory-heading{padding:0;background:none;color:#111;break-after:avoid}
 .beach-directory-symbol,.destination-symbol{background:none;border-color:#aaa;color:#111}
 .beach-directory .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .beach-directory .destination-note{background:none;border-color:#aaa;break-inside:avoid}
 .beach-directory .destination-note h3,.beach-directory .destination-list>li{color:#111}
}
