:root{--ink:#182522;--forest:#24443b;--cream:#f4f0e7;--gold:#c6a26b;--line:rgba(24,37,34,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{font-family:"Playfair Display",serif;font-size:1.45rem;line-height:1}.brand span{display:block;margin-left:1.8rem;font-style:italic;color:var(--gold)}nav{display:flex;align-items:center;gap:28px;font-size:.9rem;margin-left:auto}nav a:not(.nav-cta):hover{color:#e8d7b7}.nav-cta{padding:11px 18px;border:1px solid rgba(255,255,255,.65);border-radius:999px}.header-tools{display:flex;align-items:center;gap:10px}.language-switcher{display:flex;align-items:center;gap:3px;padding:4px;background:rgba(8,20,17,.42);border:1px solid rgba(255,255,255,.3);border-radius:999px;backdrop-filter:blur(8px)}.language-switcher button{display:flex;align-items:center;gap:4px;padding:6px 8px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.72);font:600 .68rem "DM Sans",sans-serif;cursor:pointer}.language-switcher button:hover{color:#fff}.language-switcher button[aria-pressed="true"]{background:#fff;color:var(--forest)}.language-switcher button span{font-size:.85rem}.menu{display:none;background:none;border:1px solid rgba(255,255,255,.5);color:white;border-radius:50px;padding:8px 14px}
.hero{position:relative;min-height:850px;height:100vh;color:#fff;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 43%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,17,.82) 0%,rgba(8,20,17,.45) 52%,rgba(8,20,17,.1) 100%),linear-gradient(0deg,rgba(8,20,17,.45),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(760px,90%);margin:60px 0 0 8vw}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600}.eyebrow{color:#e2cda9}.hero h1,.section h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.02;margin:.35em 0}.hero h1{font-size:clamp(3.7rem,7.6vw,7.5rem)}.lead{font-size:1.17rem;max-width:600px;color:rgba(255,255,255,.86)}.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:14px 24px;font-weight:600}.primary{background:var(--gold);color:#182522}.ghost{border:1px solid rgba(255,255,255,.65)}
.quick-facts{position:absolute;z-index:2;right:4vw;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(244,240,231,.96);color:var(--ink)}.quick-facts div{padding:22px 28px;border-right:1px solid var(--line)}.quick-facts strong,.quick-facts span{display:block}.quick-facts strong{font-family:"Playfair Display",serif;font-size:1.45rem}.quick-facts span{font-size:.75rem;color:#53615d}
.section{padding:110px 8vw}.section-label{color:#8b6c42;margin-bottom:20px}.section h2{font-size:clamp(2.35rem,4.5vw,4.5rem)}.intro{display:grid;grid-template-columns:1fr 2fr .9fr;gap:55px;align-items:start}.intro-copy p{max-width:680px;font-size:1.1rem;color:#4e5a56}.rating{display:flex;align-items:center;gap:16px;padding-top:20px}.score{display:grid;place-items:center;width:70px;height:70px;background:var(--forest);color:white;font-family:"Playfair Display",serif;font-size:1.7rem;border-radius:50%}.rating strong,.rating span{display:block}.rating div span{font-size:.8rem;color:#69736f}
.feature-image{padding-top:0}.feature-image>img{height:min(72vh,720px);object-fit:cover;object-position:center 48%}.image-note{display:flex;gap:30px;align-items:start;margin:22px 0 0 auto;width:min(520px,90%)}.image-note span{color:#9a7b52}.image-note p{margin:0}
.amenities{background:#e9e4d9}.amenities>h2{max-width:780px}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenity-grid article{padding:42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:245px}.amenity-grid article:last-child{grid-column:1/-1;min-height:0}.amenity-grid article>span{font-size:1.8rem;color:#9a7b52}.amenity-grid h3{font-family:"Playfair Display",serif;font-size:1.5rem;margin:26px 0 8px}.amenity-grid p{color:#5c6763;margin:0}
.amenity-service{display:grid;grid-template-columns:.45fr 1.55fr;gap:40px;align-items:start;margin-top:22px;padding:34px 42px;background:var(--forest);color:#fff}.amenity-service>span{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:#d7bd91}.amenity-service h3{font-family:"Playfair Display",serif;font-size:1.65rem;margin:0 0 8px}.amenity-service p{max-width:780px;margin:0;color:#d4dfdb}
.sleeping{background:#f5f1e8;display:grid;grid-template-columns:.82fr 1.35fr;gap:9vw;align-items:start}.sleeping-intro h2{margin-bottom:22px}.sleeping-intro p{color:#5c6763;max-width:470px}.sleeping-list{border-top:1px solid var(--line)}.sleeping-list article{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:23px 0;border-bottom:1px solid var(--line);align-items:start}.sleeping-list strong{font-family:"Playfair Display",serif;font-size:2rem;line-height:1;color:#9a7b52}.sleeping-list h3{font-family:"Playfair Display",serif;font-size:1.28rem;margin:0 0 5px}.sleeping-list p{color:#5c6763;margin:0}.sleeping-note{margin:28px 0 0;padding:22px 24px;background:#e9e4d9;color:#45514d}.sleeping-note strong{color:#162e28}
.included{display:grid;grid-template-columns:.9fr 1.15fr;gap:10vw;align-items:start;background:var(--forest);color:#fff}.included .section-label{color:#d7bd91}.included h2{max-width:620px}.included-copy{padding-top:16px}.included-copy>p{margin:0 0 20px;color:#d4dfdb;font-size:1.06rem;max-width:670px}.included-copy .included-note{margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.25);color:#fff;font-family:"Playfair Display",serif;font-size:1.4rem;line-height:1.35}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.gallery-heading p{max-width:450px;color:#68716e}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:340px 260px;gap:14px;margin-top:45px}.gallery-grid figure,.gallery-more figure{position:relative;margin:0;overflow:hidden;background:#d8d2c7}.gallery-grid figure.large{grid-row:span 2}.photo-button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.gallery-grid img,.gallery-more img{height:100%;object-fit:cover;transition:transform .6s}.gallery-grid figure:hover img,.gallery-more figure:hover img{transform:scale(1.025)}figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 22px 18px;color:#fff;font-weight:600;background:linear-gradient(transparent,rgba(8,20,17,.78));pointer-events:none}.gallery-more{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.gallery-more figure{height:390px}.gallery-more figure:first-child img{object-position:center 46%}.gallery-more figure:last-child img{object-position:center 56%}
.lightbox{width:min(92vw,1100px);max-width:none;padding:0;border:0;background:#101715;box-shadow:0 30px 90px rgba(0,0,0,.55)}.lightbox::backdrop{background:rgba(4,10,8,.88)}.lightbox img{max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;z-index:2;top:12px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(10,20,18,.7);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.location{display:grid;grid-template-columns:1.4fr .8fr;gap:10vw;align-items:center;background:#ded7c9}.location p{max-width:640px;color:#4e5a56}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--ink)}.address-card{background:var(--forest);color:#fff;padding:50px;min-height:390px;display:flex;flex-direction:column;justify-content:space-between}.address-card span{font-size:.8rem;letter-spacing:.12em;color:#b9c8c3}.address-card strong{font-family:"Playfair Display",serif;font-size:2.3rem;line-height:1.2}.address-card small{color:#c7d2ce}
.arrival{display:grid;grid-template-columns:.9fr 1.15fr;gap:10vw;align-items:start;background:#f5f1e8}.arrival-intro p,.arrival-details>p{color:#5c6763;max-width:620px}.arrival-times{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:32px}.arrival-times article{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.arrival-times span,.arrival-times strong{display:block}.arrival-times span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#7a684e;margin-bottom:10px}.arrival-times strong{font-family:"Playfair Display",serif;font-size:1.65rem;color:var(--forest)}
.booking{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:72px;align-items:start;background:#132c27;color:#fff}.booking h2{margin:.2em 0}.booking-copy>p:not(.eyebrow){max-width:600px;color:#c1ceca}.booking-contact{display:flex;flex-direction:column;gap:8px;margin-top:30px;color:#c1ceca}.booking-contact a{width:max-content;color:#fff;text-decoration:none}.booking-contact a:hover{text-decoration:underline}.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:32px;border-radius:20px;background:#fff;color:#183029;text-align:left;box-shadow:0 20px 50px rgba(0,0,0,.18)}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:.88rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd5d1;border-radius:9px;background:#f9fbfa;color:#183029;font:inherit;padding:12px 13px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #85a89e;outline-offset:1px;border-color:#85a89e}.full{grid-column:1/-1}.submit-button{border:0;cursor:pointer;background:#c79858;color:#172820}.form-note{margin:0;color:#677671;font-size:.82rem;line-height:1.5}.centered{justify-content:center}.light{background:#fff;color:#183029}.outline-light{border:1px solid rgba(255,255,255,.55)}footer{background:#0c1f1b;color:#fff;padding:45px 8vw;display:flex;justify-content:space-between;align-items:center}footer p{font-size:.8rem;color:#9dafaa}
@media(max-width:900px){.site-header{padding:20px}.menu{display:block}nav{display:none;position:absolute;top:78px;left:16px;right:16px;background:#162e28;padding:22px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{min-height:760px;height:auto}.hero-content{margin:100px 20px 170px}.hero h1{font-size:3.7rem}.quick-facts{left:20px;right:20px;grid-template-columns:repeat(2,1fr)}.quick-facts div{padding:14px 18px}.section{padding:76px 22px}.intro,.sleeping,.included,.arrival,.booking{grid-template-columns:1fr;gap:36px}.inquiry-form{max-width:720px}.included-copy{padding-top:0}.arrival-times{grid-template-columns:1fr}.amenity-grid{grid-template-columns:1fr}.amenity-grid article{min-height:0}.amenity-service{grid-template-columns:1fr;gap:14px;padding:30px 26px}.gallery-heading{display:block}.gallery-grid{grid-template-columns:1fr;grid-template-rows:420px 300px 300px}.gallery-grid figure.large{grid-row:auto}.gallery-more{grid-template-columns:1fr}.gallery-more figure{height:320px}.location{grid-template-columns:1fr;gap:55px}footer{flex-direction:column;gap:22px;text-align:center}.feature-image>img{height:440px}}
@media(max-width:520px){.hero h1{font-size:3.05rem}.hero-actions .button{width:100%}.gallery-grid{grid-template-rows:380px 260px 260px}.address-card{min-height:320px;padding:34px}.quick-facts span{font-size:.68rem}}
@media(max-width:900px){.site-header{gap:10px}.site-header>.brand{margin-right:auto}.language-switcher button{padding:5px 6px}.language-switcher button span{font-size:.78rem}}
@media(max-width:560px){.site-header{padding:16px 12px}.brand{font-size:1.15rem}.brand span{margin-left:1.2rem}.language-switcher{gap:1px;padding:3px}.language-switcher button{font-size:0;width:30px;height:30px;justify-content:center;padding:0}.language-switcher button span{font-size:.9rem}.menu{padding:7px 10px;font-size:.75rem}nav{top:70px}}
.language-switcher button{width:36px;height:30px;justify-content:center;padding:0;font-size:0}
.language-switcher button img{display:block;width:24px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
@media(max-width:560px){.language-switcher button{width:30px;height:30px}}
@media(max-width:560px){.inquiry-form{grid-template-columns:1fr;padding:22px 18px}.field,.full{grid-column:1}}
