:root{--ink:#13221c;--green:#16382c;--green-2:#245744;--cream:#f5f1e7;--paper:#fbfaf6;--gold:#e2b867;--muted:#657069;--line:#d8ddd8;--white:#fff;--shadow:0 20px 60px rgba(14,37,28,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);background:rgba(251,250,246,.94);border-bottom:1px solid rgba(20,50,39,.09);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;background:var(--green);color:var(--gold);border-radius:50%;font-family:Georgia,serif;font-size:24px;font-weight:700}.brand strong{display:block;letter-spacing:.12em;font-size:14px}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.24em}.desktop-nav{display:flex;gap:32px;font-size:13px;font-weight:650}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--green);transition:.25s}.desktop-nav a:hover:after{right:0}.language-switcher{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}.lang{border:0;background:transparent;padding:6px 9px;border-radius:999px;color:var(--muted);font-weight:700;font-size:11px;cursor:pointer}.lang.active{background:var(--green);color:white}.hero{position:relative;min-height:760px;height:92vh;display:flex;align-items:flex-end;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('/assets/room-main.jpg') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,16,.9) 0%,rgba(7,22,16,.62) 48%,rgba(7,22,16,.12) 78%),linear-gradient(0deg,rgba(7,22,16,.52),transparent 55%)}.hero-content{position:relative;z-index:2;color:white;width:min(810px,88vw);margin:0 clamp(24px,8vw,120px) clamp(70px,9vw,130px)}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.22em;font-weight:800;text-transform:uppercase}.eyebrow{color:#f3d696;margin-bottom:22px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,6vw,86px);font-weight:500;line-height:1.02;letter-spacing:-.035em;margin:0 0 24px}.hero p{max-width:650px;font-size:clamp(17px,1.6vw,22px);color:rgba(255,255,255,.85);margin:0 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 23px;border-radius:4px;font-size:13px;font-weight:780;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--gold);color:#1b2c25}.button-primary:hover{background:#edc87e}.button-ghost{border:1px solid rgba(255,255,255,.55);color:white;background:rgba(255,255,255,.08)}.button-dark{width:100%;background:var(--green);color:white}.rating-card{position:absolute;z-index:3;right:clamp(24px,6vw,90px);bottom:48px;display:flex;align-items:center;gap:13px;padding:15px 19px;background:rgba(251,250,246,.93);backdrop-filter:blur(8px);border-radius:5px;box-shadow:var(--shadow)}.rating-card strong{font-family:Georgia,serif;font-size:32px;color:var(--green)}.rating-card span{font-size:13px;font-weight:750;line-height:1.25}.rating-card small{color:var(--muted);font-weight:500}.section{padding:110px clamp(24px,7vw,110px)}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:start}.section-kicker{color:#8f6c2a}.section-kicker.light{color:#edcf91}.intro h2,.section-heading h2,.checkin h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4.6vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.025em;margin:15px 0 0}.intro-copy p{margin:7px 0 24px;font-size:19px;color:#46524b;max-width:740px}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:4px}.features{padding-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.features article{border-top:1px solid var(--line);padding:28px 28px 20px 0;margin-right:28px}.feature-icon{display:block;color:#99702a;font-size:28px;margin-bottom:18px}.features strong{display:block;font-size:16px}.features p{color:var(--muted);font-size:14px;margin:7px 0}.gallery{padding-top:20px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:12px}.gallery figure{margin:0;overflow:hidden;background:#dfe4df}.gallery-large{grid-row:1/3}.gallery figure:nth-child(4){grid-column:2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery figure:hover img{transform:scale(1.035)}.checkin{background:var(--green);color:white;display:grid;grid-template-columns:1.05fr .95fr;gap:9vw}.checkin h2{max-width:680px}.checkin-heading>p{max-width:630px;color:rgba(255,255,255,.72);font-size:17px;margin:24px 0 34px}.time-pill{display:inline-flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.25);border-radius:100px;padding:10px 17px}.time-pill span{font-weight:800}.time-pill i{width:22px;height:1px;background:var(--gold)}.time-pill small{color:rgba(255,255,255,.65);margin-left:4px}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.16)}.steps li:first-child{padding-top:6px}.steps>li>span{font-family:Georgia,serif;color:var(--gold);font-size:19px}.steps strong{font-size:19px}.steps p{color:rgba(255,255,255,.66);margin:6px 0 0}.section-heading{max-width:800px}.section-heading.centered{text-align:center;margin:0 auto 50px}.section-heading.centered p{color:var(--muted);max-width:690px;margin:18px auto 0}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}.room-card{background:white;border:1px solid #e4e6e1;box-shadow:0 8px 30px rgba(30,53,44,.06)}.room-card img,.family-pattern{width:100%;height:280px;object-fit:cover}.room-card>div:last-child{padding:25px 27px 30px}.room-card span{color:#9a722b;font-size:10px;letter-spacing:.18em;font-weight:800}.room-card h3{font-family:Georgia,serif;font-size:28px;font-weight:500;margin:8px 0}.room-card p{color:var(--muted);font-size:14px;margin:0}.family-pattern{display:grid;place-items:center;background:linear-gradient(135deg,#224e3e,#102920);position:relative;overflow:hidden}.family-pattern:before,.family-pattern:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(226,184,103,.24);border-radius:50%}.family-pattern:after{width:130px;height:130px}.family-pattern span{font-family:Georgia,serif;color:#edcf91;font-size:22px;letter-spacing:.2em;z-index:1}.connect{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1050px;margin:0 auto}.contact-card{display:grid;grid-template-columns:1fr 148px;gap:18px;background:white;padding:30px;border:1px solid rgba(20,50,39,.11);box-shadow:0 12px 35px rgba(20,50,39,.07)}.contact-copy{display:flex;gap:15px}.channel-icon{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eaf4ff;color:#1478a9;font-size:21px}.webchat .channel-icon{background:#e8f0e8;color:var(--green)}.contact-copy small,.booking-banner small{color:#98712e;font-size:10px;letter-spacing:.18em;font-weight:850}.contact-copy h3{font-size:19px;margin:5px 0 8px}.contact-copy p{color:var(--muted);font-size:13px;margin:0}.contact-card>img{width:148px;height:148px}.contact-card .button{grid-column:1/3}.booking-banner{max-width:1050px;margin:20px auto 0;background:var(--green);color:white;padding:27px 31px;display:flex;align-items:center;justify-content:space-between;gap:25px}.booking-banner h3{font-family:Georgia,serif;font-size:26px;font-weight:500;margin:5px 0}.booking-banner .button{flex:none}footer{background:#0c2119;color:white;padding:54px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr auto;gap:35px;align-items:start}.footer-brand{display:flex;gap:15px}.footer-brand strong{font-size:14px;letter-spacing:.14em}.footer-brand p{color:rgba(255,255,255,.58);font-size:13px;margin:8px 0}.footer-details{text-align:right}.footer-details p{margin:0 0 6px;color:rgba(255,255,255,.62);font-size:13px}.footer-details strong{color:white;margin-left:16px}.copyright{grid-column:1/3;margin:0;padding-top:25px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.42);font-size:12px}
@media(max-width:900px){.desktop-nav{display:none}.hero{min-height:700px}.hero-shade{background:linear-gradient(0deg,rgba(7,22,16,.88),rgba(7,22,16,.24))}.hero-content{margin-left:28px}.rating-card{right:22px;bottom:22px}.intro,.checkin{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 190px 190px}.gallery-large{grid-column:1/3;grid-row:auto}.gallery figure:nth-child(4){grid-column:auto}.room-grid{grid-template-columns:1fr 1fr}.room-card:last-child{grid-column:1/3}.contact-grid{grid-template-columns:1fr}.booking-banner{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr}.footer-details{text-align:left}.copyright{grid-column:auto}}
@media(max-width:600px){.site-header{height:67px;padding:0 16px}.brand-mark{width:35px;height:35px}.brand small{display:none}.language-switcher{padding:2px}.lang{padding:5px 7px}.hero{min-height:680px;height:100svh}.hero-content{width:auto;margin:0 20px 118px}.hero h1{font-size:43px}.hero p{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.rating-card{left:20px;right:auto;bottom:22px;padding:11px 14px}.section{padding:76px 20px}.intro{gap:25px}.intro-copy p{font-size:17px}.features{grid-template-columns:1fr;padding-top:0}.features article{margin-right:0}.gallery{padding-top:5px;grid-template-columns:1fr 1fr;grid-template-rows:220px 150px 150px;gap:7px}.checkin{gap:55px}.room-grid{grid-template-columns:1fr}.room-card:last-child{grid-column:auto}.room-card img,.family-pattern{height:230px}.contact-card{grid-template-columns:1fr 112px;padding:20px}.contact-card>img{width:112px;height:112px}.contact-copy{display:block}.channel-icon{margin-bottom:12px}.booking-banner{padding:24px}.booking-banner .button{width:100%}footer{padding:45px 20px}.footer-details strong{display:block;margin-left:0}}
.contact-copy{min-width:0}.contact-copy h3{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.gallery img{transition:none}}

/* Compact layout: keep the same hierarchy while showing more of the page at once. */
.site-header{height:64px;padding:0 clamp(20px,4vw,58px)}
.brand{gap:0}.brand strong{font-size:13px}.desktop-nav{gap:24px;font-size:12px}
.hero{min-height:570px;height:78vh}
.hero-content{width:min(720px,86vw);margin:0 clamp(22px,7vw,96px) clamp(48px,6vw,78px)}
.eyebrow{margin-bottom:14px}.hero h1{font-size:clamp(40px,5vw,68px);margin-bottom:17px}.hero p{font-size:clamp(16px,1.35vw,19px);margin-bottom:25px;max-width:590px}
.button{min-height:44px;padding:0 19px;font-size:12px}.rating-card{right:clamp(22px,5vw,72px);bottom:30px;padding:11px 15px}.rating-card strong{font-size:27px}
.section{padding:72px clamp(24px,6vw,90px)}
.intro{gap:7vw}.intro h2,.section-heading h2,.checkin h2{font-size:clamp(34px,4vw,52px);margin-top:10px}.intro-copy p{font-size:17px;margin:4px 0 18px}
.features article{padding:21px 20px 14px 0;margin-right:20px}.feature-icon{font-size:24px;margin-bottom:12px}.features strong{font-size:15px}.features p{font-size:13px}
.gallery{padding-top:12px;grid-template-rows:205px 205px;gap:9px}
.checkin{gap:7vw}.checkin-heading>p{font-size:16px;margin:18px 0 25px}.steps li{grid-template-columns:44px 1fr;gap:16px;padding:22px 0}.steps strong{font-size:17px}.steps p{font-size:14px}
.section-heading.centered{margin-bottom:34px}.room-grid{gap:14px;margin-top:36px}.room-card img,.family-pattern{height:220px}.room-card>div:last-child{padding:19px 21px 23px}.room-card h3{font-size:24px;margin:6px 0}.room-card p{font-size:13px}
.contact-grid{gap:15px;max-width:960px}.contact-card{grid-template-columns:1fr 118px;gap:14px;padding:22px}.contact-card>img{width:118px;height:118px}.channel-icon{width:36px;height:36px}.contact-copy h3{font-size:17px}.booking-banner{max-width:960px;margin-top:15px;padding:20px 23px}.booking-banner h3{font-size:22px}
footer{padding:36px clamp(24px,6vw,90px);gap:24px}.copyright{padding-top:18px}

@media(max-width:900px){.hero{min-height:610px;height:82vh}.gallery{grid-template-rows:220px 165px 165px}.room-card img,.family-pattern{height:210px}}
@media(max-width:600px){.site-header{height:58px}.brand strong{font-size:12px}.hero{min-height:590px;height:92svh}.hero-content{margin:0 18px 104px}.hero h1{font-size:36px}.rating-card{left:18px;bottom:16px}.section{padding:54px 18px}.gallery{grid-template-rows:190px 135px 135px}.checkin{gap:38px}.room-grid{margin-top:28px}.room-card img,.family-pattern{height:205px}.contact-card{grid-template-columns:1fr 98px;padding:17px}.contact-card>img{width:98px;height:98px}.booking-banner{padding:20px}footer{padding:34px 18px}}

/* Large, platform-independent flags for language selection. */
.language-switcher{gap:5px;padding:4px;border-radius:12px;flex-shrink:0}
.lang{display:flex;align-items:center;justify-content:center;width:60px;height:48px;padding:7px;border-radius:8px;transition:background .15s,box-shadow .15s}
.lang img{width:40px;height:28px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.lang:hover{background:#e4eadf}.lang.active{background:var(--green);box-shadow:inset 0 0 0 2px var(--gold)}
.lang:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.site-header{height:66px}.language-switcher{gap:3px;padding:3px}.lang{width:48px;height:48px;padding:5px}.lang img{width:36px;height:25px}}
