:root{--ink:#173942;--deep:#103e49;--dark:#102f38;--cream:#f7f3eb;--paper:#fffdfa;--gold:#dfc68d;--line:#d7dcd6;--muted:#53646a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3.4rem,6.8vw,7.6rem);margin-bottom:2.15rem}h2{font-size:clamp(2.7rem,4.4vw,5.25rem);margin-bottom:1.35rem}h1 em,h2 em{font-weight:400;color:var(--gold)}.intro em,.amenities em,.location em{color:#54817f}.eyebrow{font-weight:700;font-size:.78rem;line-height:1.35;letter-spacing:.21em;margin-bottom:1.6rem}.skip{position:absolute;left:10px;top:-100px;padding:9px;background:white;z-index:9}.skip:focus{top:10px}.site-header{min-height:92px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem clamp(1.25rem,4.5vw,5.5rem);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;font-family:Georgia,serif;font-size:1.4rem;font-weight:700;line-height:1.1;white-space:nowrap}.brand img{width:46px;height:46px;object-fit:contain}.brand small{display:block;font-family:Arial,sans-serif;font-size:.61rem;letter-spacing:.16em;font-weight:700;margin-top:.44rem}.site-header nav{display:flex;gap:clamp(1rem,2.4vw,2.7rem);align-items:center}.site-header nav a{font-size:.92rem;text-decoration:none;white-space:nowrap}.site-header nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.site-header .nav-contact{border:1px solid var(--ink);padding:.55rem 1.1rem}.hero{display:grid;grid-template-columns:53% 47%;min-height:690px;background:var(--deep);color:#f9f6ee}.hero-copy{padding:clamp(4rem,7vw,8rem) clamp(1.5rem,5.8vw,7rem) 3.5rem;display:flex;flex-direction:column;justify-content:center}.hero .eyebrow{color:#dfc68d}.hero-intro{font-size:clamp(1.08rem,1.45vw,1.35rem);line-height:1.7;max-width:570px;color:#eef1ec;margin-bottom:2.6rem}.hero-actions{display:flex;gap:1.7rem;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 1.35rem;text-decoration:none;font-size:.95rem;font-weight:700;line-height:1.35;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-light{background:var(--cream);color:var(--dark)}.button-dark{background:var(--deep);color:#fff}.text-link{text-decoration:none;border-bottom:1px solid #a8babc;padding:.5rem 0;font-size:.94rem}.text-link span{margin-left:.45rem}.hero-facts{display:flex;gap:clamp(1rem,3.2vw,3.4rem);margin-top:clamp(3rem,7vw,7.2rem);padding-top:1.5rem;border-top:1px solid #61818a;color:#dbe8e7;font-size:.86rem;flex-wrap:wrap}.hero-facts strong{display:block;font-size:1.35rem;color:#fff;font-weight:400;font-family:Georgia,serif}.hero-visual{position:relative;min-height:530px;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;right:0;bottom:0;background:var(--cream);color:var(--deep);padding:1.2rem 1.6rem;font-family:Georgia,serif;font-style:italic;font-size:1.05rem}.section{padding:clamp(4.5rem,8vw,9rem) clamp(1.5rem,6vw,8rem)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,9vw,9rem);align-items:end}.intro-copy{font-size:1.15rem;max-width:600px}.intro-copy p:last-child{color:var(--muted);margin-bottom:0}.feature{display:grid;grid-template-columns:1.14fr .86fr;gap:clamp(3rem,7vw,8rem);align-items:center;background:var(--cream)}.feature-image img{width:100%;height:clamp(400px,45vw,650px);object-fit:cover}.feature-copy{max-width:550px}.feature-copy p:not(.eyebrow){font-size:1.12rem;color:#40555b}.tick-list{list-style:none;padding:1rem 0 0;margin:0;display:grid;gap:.7rem}.tick-list li{border-top:1px solid #cbd6d1;padding:.66rem 0 0;font-size:.97rem}.feature-sleep{grid-template-columns:.8fr 1.2fr;background:var(--paper)}.duo-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}.duo-images img{width:100%;height:clamp(310px,34vw,540px);object-fit:cover}.duo-images img:last-child{height:clamp(260px,28vw,450px)}.detail-note{border-left:2px solid #72928c;padding-left:1rem;font-size:.96rem!important;margin-top:2rem}.amenities{background:#e7eeeb;display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 3rem}.amenity-grid article{border-top:1px solid #9eb4ae;padding-top:1.1rem}.amenity-number{font:italic 1rem Georgia,serif;color:#678c84}.amenity-grid h3{font:400 1.65rem Georgia,serif;line-height:1.2;margin:.8rem 0}.amenity-grid p{margin:0;color:#425e60}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.gallery-heading h2{margin-bottom:0}.gallery-heading>p{max-width:260px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery-card{position:relative;display:block;height:270px;overflow:hidden;color:#fff;background:#dee4e0}.gallery-card.wide{grid-column:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.gallery-card span{position:absolute;bottom:1.1rem;left:1.2rem;z-index:1;font:1.2rem Georgia,serif}dialog{border:0;padding:0;background:#152d32;max-width:min(94vw,1100px);max-height:92vh;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#09242bdd}dialog img{max-width:100%;max-height:90vh;object-fit:contain}.close-lightbox{position:absolute;right:.5rem;top:.5rem;border:0;border-radius:50%;width:44px;height:44px;background:#fff;color:#123;cursor:pointer;font-size:1.7rem;line-height:1}.location{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;background:var(--cream)}.location-right{max-width:530px;font-size:1.15rem}.location-right p{margin-bottom:2rem}.contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;background:var(--deep);color:white}.contact p:not(.eyebrow){max-width:470px;font-size:1.15rem;color:#d6e2dd}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.25rem}.contact-actions .button{margin-bottom:.8rem}.contact-actions>a:not(.button){font-size:clamp(1.14rem,1.8vw,1.55rem);text-underline-offset:6px;overflow-wrap:anywhere}.footer{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2rem clamp(1.5rem,6vw,8rem);background:#092a32;color:#e4eae7;font-size:.9rem}.footer strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.1rem}.footer span{display:block;color:#b6c8c8}.footer>div:last-child{display:flex;gap:1.5rem;flex-wrap:wrap}.footer a{text-decoration:none}.legal{max-width:820px;margin:auto;padding:5rem 1.5rem 7rem;min-height:60vh}.legal h1{font-size:clamp(3rem,5vw,5rem)}.legal h2{font-size:1.7rem;margin-top:2.5rem}.legal a{overflow-wrap:anywhere}.legal p{max-width:68ch}.legal .eyebrow{color:#517e78}@media(max-width:1000px){.site-header nav{gap:1rem}.site-header nav a{font-size:.83rem}.hero{grid-template-columns:55% 45%}.hero-copy{padding:4rem 2rem}.hero-facts{margin-top:3rem}.intro,.feature,.amenities,.location,.contact{gap:3rem}.gallery-card{height:220px}}@media(max-width:760px){.site-header{padding:1rem 1.25rem;display:block}.brand{margin-bottom:1rem}.site-header nav{overflow-x:auto;gap:1.5rem;padding-bottom:.3rem}.site-header nav a{font-size:.9rem}.site-header .nav-contact{border:0;padding:0}.hero,.intro,.feature,.feature-sleep,.amenities,.location,.contact{grid-template-columns:1fr}.hero-copy{padding:4.2rem 1.5rem 3rem}.hero h1{font-size:clamp(3.5rem,13vw,5.8rem)}.hero-visual{min-height:360px;height:55vw;max-height:580px}.hero-facts{margin-top:3rem}.section{padding:4.5rem 1.5rem}.intro{gap:1.5rem}.feature{gap:2.5rem}.feature-image img{height:65vw;min-height:320px}.feature-sleep .duo-images{order:-1}.duo-images img{height:60vw;max-height:430px}.duo-images img:last-child{height:51vw}.amenity-grid{gap:2rem}.gallery-heading{display:block}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card,.gallery-card.wide{grid-column:span 1;height:220px}.gallery-card:first-child{grid-column:span 2;height:330px}.footer{display:block}.footer>div:last-child{margin-top:1.5rem}}@media(max-width:480px){.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.hero-facts{gap:1.3rem}.hero-facts span{min-width:38%}.photo-caption{font-size:.85rem;padding:.75rem 1rem}.amenity-grid{grid-template-columns:1fr}.gallery-grid{gap:.6rem}.gallery-card,.gallery-card.wide{height:160px}.gallery-card:first-child{height:230px}.gallery-card span{font-size:.95rem;bottom:.55rem;left:.7rem}.contact-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.gallery-card img{transition:none}}
:root{--ink:#25433c;--deep:#193d38;--dark:#183c36;--cream:#faf6ef;--paper:#fffdfa;--gold:#d5966e;--line:#d5ded5;--muted:#5c6f65}
.site-header{background:var(--paper)}
.brand{font-size:1.48rem;color:var(--deep)}
.brand small{color:#738c78}
.hero{background:#e9f0e8;color:var(--deep)}
.hero .eyebrow{color:#9a694f}
.hero h1 em{color:#b87552}
.hero-intro{color:#3b5b4e}
.hero .button-light{background:var(--deep);color:#fff}
.hero .text-link{border-bottom-color:#9eafa4}
.hero-facts{border-top-color:#b8cab9;color:#536e5e}
.hero-facts strong{color:var(--deep)}
.photo-caption{background:var(--paper);color:var(--deep)}
.intro em,.amenities em,.location em{color:#72967c}
.feature{background:#f8f5ed}
.feature-sleep{background:var(--paper)}
.feature-copy p:not(.eyebrow),.amenity-grid p{color:#476056}
.amenities{background:#e5ede4}
.amenity-grid article{border-top-color:#b1c5b2}
.amenity-number{color:#ad7555}
.gallery-card{background:#e5ede4}
.location{background:#f8f5ed}
.contact{background:var(--deep)}
.contact p:not(.eyebrow){color:#dce9dc}
.footer{background:#102e2a;color:#e8f0e7}
.footer span{color:#bdcebf}
.legal .eyebrow{color:#9a694f}
.excursions{background:#fffdfa}
.excursions-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.5rem}
.excursions-heading h2{margin-bottom:0}
.excursions-heading>p{max-width:370px;color:var(--muted);margin:0}
.excursions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.excursions-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:2rem;background:#edf2eb;min-height:290px}
.excursion-time{font-size:.84rem;letter-spacing:.08em;font-weight:700;color:#9a694f}
.excursions-grid h3{font:400 clamp(1.4rem,2vw,1.85rem) Georgia,serif;line-height:1.16;margin:1.25rem 0 .75rem}
.excursions-grid p{color:#476056;margin-bottom:1.5rem}
.excursions-grid a{margin-top:auto;font-weight:700;text-underline-offset:5px;text-decoration-thickness:1px}
.excursions-grid a:hover{text-decoration-thickness:2px}
@media(max-width:900px){.excursions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.excursions-heading{align-items:start;display:block}.excursions-heading>p{max-width:620px;margin-top:1.3rem}}
@media(max-width:560px){.excursions-grid{grid-template-columns:1fr}.excursions-grid article{min-height:0;padding:1.6rem}.excursions-heading{margin-bottom:2rem}}

/* A calmer, more continuous walk through the apartment. */
html{scroll-padding-top:5.5rem}
.site-header{position:sticky;top:0;z-index:20;transition:background .35s ease,box-shadow .35s ease,padding .35s ease}
.site-header:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:#b87552;transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.site-header.is-scrolled{background:rgba(255,253,250,.96);box-shadow:0 12px 40px rgba(22,54,42,.09);backdrop-filter:blur(16px)}
.site-header nav a[aria-current="location"]{color:#a25d3c;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.hero{min-height:min(850px,calc(100svh - 92px));overflow:hidden}
.hero-visual img{transform:scale(1.045) translateY(var(--hero-offset,0px));transition:transform .15s linear;will-change:transform}
.hero-copy{position:relative;z-index:1}
.intro{position:relative;z-index:1;background:var(--paper);margin-top:-3.25rem;border-radius:3.25rem 3.25rem 0 0;padding-top:clamp(7rem,12vw,12rem)}
.intro:before{content:"";position:absolute;top:3.25rem;left:clamp(1.5rem,6vw,8rem);width:4rem;height:1px;background:#b87552}
.feature{min-height:96svh;align-items:stretch;gap:clamp(2rem,7vw,8rem)}
.feature-image,.duo-images{align-self:stretch;display:flex;align-items:center;position:sticky;top:calc(92px + 2rem);height:calc(100svh - 92px - 4rem);min-height:450px}
.feature-image img{height:100%;min-height:0;object-fit:cover;border-radius:2px}
.feature-copy{align-self:center;padding-block:clamp(2rem,8vw,8rem)}
.duo-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.duo-images img,.duo-images img:last-child{height:82%;min-height:0;align-self:center}
.duo-images img:last-child{height:70%;align-self:end;margin-bottom:9%}
.amenities{min-height:95svh;align-items:start}
.amenities>div:first-child{position:sticky;top:calc(92px + 4rem)}
.amenity-grid{row-gap:clamp(3.5rem,8vw,8rem)}
.gallery{background:linear-gradient(180deg,var(--paper) 0%,#f5f5ed 100%)}
.gallery-grid{grid-auto-rows:210px}
.gallery-card,.gallery-card.wide{height:100%}
.gallery-card:first-child{grid-column:span 2;grid-row:span 2}
.gallery-card img{transition:transform .85s cubic-bezier(.2,.65,.2,1)}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.055)}
.gallery-card:focus-visible,.button:focus-visible,.site-header a:focus-visible{outline:3px solid #b87552;outline-offset:4px}
.gallery-card:last-child img{object-position:center 42%}
.location{min-height:75svh}
.excursions{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,8vw,9rem);align-items:start}
.excursions-heading{display:block;position:sticky;top:calc(92px + 4rem);margin:0}
.excursions-heading>p{max-width:30rem;margin-top:2rem}
.excursions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.excursions-grid article{min-height:340px;transition:transform .35s ease,box-shadow .35s ease}
.excursions-grid article:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(28,69,49,.08)}
.contact{min-height:70svh;align-items:center}
@media(prefers-reduced-motion:no-preference){
  .motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.65,.2,1),transform .8s cubic-bezier(.2,.65,.2,1)}
  .motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
  .motion-ready .gallery-card.reveal:nth-child(2n){transition-delay:.08s}
  .motion-ready .excursions-grid article.reveal:nth-child(2n){transition-delay:.08s}
}
@media(max-width:1100px){.excursions{grid-template-columns:1fr;gap:2.5rem}.excursions-heading{position:static}.excursions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.excursions-grid article{min-height:310px}}
@media(max-width:900px){.excursions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  html{scroll-padding-top:1rem}
  .site-header{position:relative}.site-header:after{display:none}
  .hero{min-height:0}.hero-visual img{transform:none!important;will-change:auto}
  .intro{margin-top:-1.5rem;border-radius:1.5rem 1.5rem 0 0;padding-top:5rem}
  .intro:before{top:2.5rem;left:1.5rem}
  .feature,.amenities,.location,.contact{min-height:0}
  .feature-image,.duo-images{position:static;height:auto;min-height:0;display:block}
  .feature-image img{height:65vw;min-height:320px}
  .duo-images{display:grid}.duo-images img{height:60vw;max-height:430px}.duo-images img:last-child{height:51vw;margin:0;align-self:end}
  .feature-copy{padding-block:0}
  .amenities>div:first-child{position:static}
  .amenity-grid{row-gap:2rem}
  .gallery-grid{grid-auto-rows:210px}
  .gallery-card:first-child{grid-row:span 1;height:100%}
  .gallery-card,.gallery-card.wide{height:100%}
  .excursions-heading{position:static}
  .excursions-grid article{min-height:0}
}
@media(max-width:560px){.excursions-grid{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:160px}.gallery-card:first-child{height:100%;grid-row:span 2}.gallery-card,.gallery-card.wide{height:100%}.excursions-grid article{min-height:0}}
@media(prefers-reduced-motion:reduce){.site-header,.hero-visual img,.excursions-grid article,.motion-ready .reveal{transition:none!important;transform:none!important;opacity:1!important}}

/* Keep the photo caption clear of the overlapping next section on phones. */
@media(max-width:760px){
  .photo-caption{right:1rem;bottom:3rem;max-width:calc(100% - 2rem);padding:.85rem 1rem;box-shadow:0 12px 24px rgba(21,49,39,.12)}
}

/* Guest feedback from the public Booking.com listing, with a dated score. */
.reviews{background:#f2eee6}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem}
.reviews-heading h2{margin-bottom:0}
.reviews-score{display:flex;flex-direction:column;flex-shrink:0;align-items:flex-start;padding:1rem 0 1rem 1.5rem;border-left:2px solid #b87552;color:var(--deep)}
.reviews-score strong{font:400 clamp(3rem,5vw,5.5rem)/1 Georgia,serif;letter-spacing:-.06em}
.reviews-score strong span{font:400 1.2rem Arial,sans-serif;letter-spacing:0}
.reviews-score>span{font-size:.88rem;margin-top:.8rem}
.reviews-context{margin:1.2rem 0 2.5rem;color:#596c60;font-size:.92rem}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.reviews-grid article{display:flex;flex-direction:column;background:var(--paper);padding:clamp(1.5rem,2.5vw,2.5rem);min-height:290px;border-top:2px solid #bb8061}
.review-mark{font:3.8rem/.8 Georgia,serif;color:#ba8268}
.reviews-grid p{font:400 clamp(1.3rem,1.8vw,1.8rem)/1.35 Georgia,serif;margin:1.4rem 0 2.2rem}
.review-author{margin-top:auto;font-size:.84rem;color:#586f61}
.reviews-link{display:inline-block;margin-top:2rem;text-underline-offset:5px;font-weight:700}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr}.reviews-grid article{min-height:0}.reviews-heading{align-items:start}}
@media(max-width:640px){.reviews-heading{display:block}.reviews-score{margin-top:2rem}.reviews-context{margin-top:1.5rem}}
.amenity-grid .booking-notes{grid-column:1/-1;border-top:1px solid #b1c5b2;padding-top:1.2rem;margin:0;color:#476056;font-size:.94rem;max-width:65ch}
