:root{
  --ink:#211c17;--ink-soft:#5e5348;--paper:#fbf8f2;--cream:#f2eadf;--sand:#d6c1a3;--gold:#9a7847;--olive:#626449;--white:#fff;--line:rgba(33,28,23,.14);--shadow:0 24px 70px rgba(39,29,18,.14);--radius:24px;--radius-small:16px;--pill:999px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}h1,h2,h3,h4,.brand strong{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;margin-top:0}h1{font-size:clamp(3rem,8vw,7.5rem);letter-spacing:-.045em}h2{font-size:clamp(2.35rem,5vw,4.75rem);letter-spacing:-.035em;margin-bottom:1rem}h3{font-size:1.55rem;margin-bottom:.6rem}p{margin:0 0 1.2rem;color:var(--ink-soft)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.media-image{width:100%;height:100%;object-fit:cover;background:#d9d2c8;opacity:0;transition:opacity .3s ease}.media-image.is-loaded{opacity:1}.image-placeholder{background:#d9d2c8}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:var(--gold);margin:0 0 1rem}.lead{font-size:1.18rem;line-height:1.75;color:#4b4138}.section{padding:clamp(5rem,9vw,9rem) max(5vw,24px)}.section>*{max-width:1240px;margin-left:auto;margin-right:auto}.muted-section{background:var(--cream)}.centered{text-align:center;max-width:780px!important}.section-heading{margin-bottom:3.5rem}.section-heading>p:last-child{font-size:1.05rem}.split-heading{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:4rem}.split-heading>p{max-width:480px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem)}.align-center{align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:.92rem 1.5rem;text-transform:uppercase;letter-spacing:.11em;font-size:.73rem;font-weight:700;transition:.25s ease;cursor:pointer;border-radius:var(--pill)}.button:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.button-small{padding:.72rem 1.05rem;font-size:.67rem}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-outline-light{background:transparent;border-color:rgba(255,255,255,.65);color:#fff}.button-outline-dark{background:transparent;color:var(--ink);border-color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.button-full{width:100%;margin-top:.75rem}.text-link{display:inline-flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:.35rem}.text-link span{font-size:1rem}.center-action{text-align:center;margin-top:3.2rem}
/* Header */
.site-header{position:absolute;inset:0 0 auto;z-index:50;height:96px;color:#fff}.site-header.over-hero:before{content:"";position:absolute;inset:0 0 -70px;background:linear-gradient(to bottom,rgba(0,0,0,.64),rgba(0,0,0,.26) 48%,transparent);pointer-events:none}.site-header.solid-header{position:relative;background:var(--ink)}.nav-shell{position:relative;z-index:2;height:100%;max-width:1420px;margin:auto;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.75rem;color:inherit;min-width:max-content}.brand-mark{width:42px;height:42px;border:1px solid currentColor;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.65rem}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:1.18rem}.brand-copy small{font-size:.55rem;text-transform:uppercase;letter-spacing:.2em;margin-top:.35rem;opacity:.76}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2vw,2.25rem)}.desktop-nav a{position:relative;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;padding:.6rem 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:.15rem;height:1px;background:currentColor;transition:.25s}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}.nav-actions{display:flex;align-items:center;gap:1rem}.lang-switcher{display:flex;gap:.4rem}.lang-switcher a{font-size:.62rem;font-weight:700;opacity:.65;padding:.25rem}.lang-switcher a.selected{opacity:1;text-decoration:underline;text-underline-offset:4px}.menu-toggle{display:none;border:0;background:none;color:inherit;padding:.5rem;cursor:pointer}.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;margin:5px 0}.menu-toggle em{display:none}.mobile-menu{position:fixed;inset:0;z-index:1000;background:#211c17;color:#fff;padding:24px;display:flex;flex-direction:column;transform:translateX(105%);visibility:hidden;transition:transform .35s ease,visibility .35s}.mobile-menu.open{transform:none;visibility:visible}.mobile-menu-top{display:flex;justify-content:space-between;align-items:center}.menu-close{border:0;background:transparent;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer}.mobile-menu nav{display:flex;flex-direction:column;margin:auto 0;gap:.35rem}.mobile-menu nav a{font-family:Georgia,serif;font-size:clamp(2.1rem,8vw,3.4rem);line-height:1.15;border-bottom:1px solid rgba(255,255,255,.15);padding:.5rem 0}.mobile-menu-bottom{display:flex;align-items:end;justify-content:space-between;gap:1rem}.mobile-langs{display:flex;gap:.85rem;flex-wrap:wrap}.mobile-langs a{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;opacity:.55}.mobile-langs a.selected{opacity:1}
/* Hero */
.home-hero{position:relative;height:min(900px,100svh);min-height:680px;background:var(--ink);overflow:hidden;color:#fff}.home-hero-image{position:absolute;inset:0}.home-hero-image img,.home-hero>img{object-position:center}.home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,11,8,.65),rgba(14,11,8,.23) 55%,rgba(14,11,8,.12)),linear-gradient(0deg,rgba(14,11,8,.36),transparent 48%)}.home-hero-content{position:relative;z-index:2;max-width:1420px;margin:auto;padding:0 6vw;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.home-hero-content h1{margin:0 0 1.2rem;max-width:900px}.home-hero-content>p:not(.eyebrow){font-size:clamp(1.05rem,2vw,1.4rem);color:rgba(255,255,255,.86);max-width:650px}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.scroll-cue{position:absolute;z-index:3;left:50%;bottom:26px;width:28px;height:50px;border:1px solid rgba(255,255,255,.6);border-radius:20px;transform:translateX(-50%)}.scroll-cue span{position:absolute;width:4px;height:8px;border-radius:5px;background:#fff;top:9px;left:11px;animation:scrollcue 1.8s infinite}@keyframes scrollcue{0%{opacity:0;transform:translateY(0)}35%{opacity:1}100%{opacity:0;transform:translateY(20px)}}.page-hero{position:relative;height:clamp(430px,62vh,690px);min-height:430px;background:var(--ink);color:#fff;overflow:hidden}.page-hero-image{position:absolute;inset:0}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,12,9,.65),rgba(16,12,9,.16) 70%),linear-gradient(90deg,rgba(16,12,9,.35),transparent)}.page-hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:end;max-width:1320px;margin:auto;padding:0 6vw 8vh}.page-hero-content h1{font-size:clamp(3.1rem,7vw,6.4rem);margin:0 0 1rem}.page-hero-content>p:last-child{font-size:1.15rem;color:rgba(255,255,255,.85);max-width:720px}
/* Cards */
.card-grid{display:grid;gap:2rem}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);box-shadow:0 10px 40px rgba(60,40,20,.06);transition:.3s;border-radius:var(--radius);overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card-image-wrap{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#d9d2c8;border-radius:var(--radius) var(--radius) 0 0}.tour-card .card-image-wrap{aspect-ratio:5/4}.card-image{transition:transform .7s ease}.card:hover .card-image{transform:scale(1.045)}.card-badge{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.92);padding:.45rem .7rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;border-radius:var(--pill)}.card-body{padding:1.5rem}.card-body>p{font-size:.93rem;min-height:3em}.card-title-row{display:flex;justify-content:space-between;gap:1rem}.card-title-row h3{flex:1}.price{text-align:right;color:var(--ink);font-size:1.25rem;line-height:1.1;white-space:nowrap}.price small,.price em{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-style:normal}.card-meta{display:flex;gap:1rem;margin:1.25rem 0;color:var(--ink-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.card-meta span+span:before{content:"·";margin-right:1rem}.all-items-grid{max-width:1160px!important}
/* Sections */
.intro-image-stack{position:relative;min-height:570px}.stack-main{position:absolute;width:82%;height:92%;right:0;top:0;box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.stack-note{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;padding:2rem;width:240px;border-radius:var(--radius-small)}.stack-note strong{display:block;font-family:Georgia,serif;font-size:1.6rem}.stack-note span{display:block;color:rgba(255,255,255,.67);font-size:.8rem;margin-top:.5rem}.experience-section{background:#fff}.why-section{background:var(--ink);color:#fff}.why-section .section-heading p,.why-section .benefit p{color:rgba(255,255,255,.66)}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14)}.benefit{background:var(--ink);padding:3rem}.benefit>span{display:block;color:var(--gold);font-size:.75rem;letter-spacing:.15em;margin-bottom:2rem}.benefit h3{font-size:2rem}.gallery-preview{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;background:var(--ink);position:relative}.gallery-preview-item{overflow:hidden}.gallery-preview-item.tall{grid-row:span 2}.gallery-preview-item img{transition:transform .6s}.gallery-preview-item:hover img{transform:scale(1.06)}.gallery-preview-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:1.25rem 1.75rem;display:flex;gap:1.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}.testimonial-section{background:var(--paper)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.testimonial-grid blockquote{margin:0;background:#fff;border:1px solid var(--line);padding:2rem;border-radius:var(--radius-small)}.testimonial-grid blockquote p{font-family:Georgia,serif;font-size:1.28rem;color:var(--ink);line-height:1.55}.testimonial-grid footer{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}.cta-section{position:relative;min-height:590px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.cta-section.compact{min-height:480px}.cta-bg{position:absolute;inset:0}.cta-overlay{position:absolute;inset:0;background:rgba(20,15,10,.58)}.cta-content{position:relative;z-index:2;max-width:820px;padding:4rem 24px}.cta-content p{color:rgba(255,255,255,.8);font-size:1.1rem}.booking-strip{background:var(--ink);color:#fff;padding:3rem max(5vw,24px);display:flex;justify-content:center;align-items:center;gap:10vw}.booking-strip h2{font-size:2rem;margin-bottom:.3rem}.booking-strip p{color:rgba(255,255,255,.68);margin:0}
/* Details */
.detail-hero,.article-hero{position:relative;height:clamp(580px,80vh,820px);background:var(--ink);color:#fff;overflow:hidden}.detail-hero-image,.article-hero-image{position:absolute;inset:0}.detail-hero-content,.article-hero-content{position:relative;z-index:2;height:100%;max-width:1320px;margin:auto;padding:0 6vw 8vh;display:flex;flex-direction:column;justify-content:end}.detail-hero-content>a{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.2rem}.detail-hero-content h1,.article-hero-content h1{font-size:clamp(3rem,7vw,6.5rem);max-width:1050px;margin-bottom:1rem}.detail-hero-content p{color:rgba(255,255,255,.82);font-size:1.12rem;max-width:720px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr);gap:7vw;align-items:start}.detail-main{max-width:none}.rich-text p{font-size:1.06rem;line-height:1.85}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}.detail-gallery img{aspect-ratio:4/3;border-radius:var(--radius-small)}.booking-card{position:sticky;top:30px;background:#fff;border:1px solid var(--line);padding:2rem;box-shadow:var(--shadow);border-radius:var(--radius)}.booking-price{border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:1.5rem}.booking-price small,.booking-price span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;color:var(--ink-soft)}.booking-price strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:500}.booking-card dl{margin:0 0 1.5rem}.booking-card dl div{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--line)}.booking-card dt{color:var(--ink-soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.booking-card dd{margin:0;font-weight:700}.check-list{list-style:none;padding:0;margin:0 0 1.5rem}.check-list li{padding:.55rem 0 .55rem 1.5rem;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold)}[dir="rtl"] .check-list li{padding-left:0;padding-right:1.5rem}[dir="rtl"] .check-list li:before{left:auto;right:0}
/* Gallery */
.masonry-gallery{columns:3 300px;column-gap:1.25rem}.gallery-tile{position:relative;width:100%;border:0;background:#d9d2c8;padding:0;margin:0 0 1.25rem;break-inside:avoid;cursor:zoom-in;overflow:hidden;min-height:260px;border-radius:var(--radius-small)}.gallery-tile img{height:auto;min-height:260px;aspect-ratio:4/3}.gallery-tile.tall img{aspect-ratio:3/4}.gallery-tile span{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);padding:.4rem .6rem;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:5vw;opacity:0;visibility:hidden;transition:.25s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-height:88vh;max-width:90vw;object-fit:contain;opacity:1}.lightbox button{position:absolute;right:22px;top:16px;border:0;background:none;color:#fff;font-size:3rem;cursor:pointer}
/* About */
.about-collage{position:relative;min-height:650px}.about-large{position:absolute;left:0;top:0;width:78%;height:85%;border-radius:var(--radius);overflow:hidden}.about-small{position:absolute;right:0;bottom:0;width:52%;height:45%;border:10px solid var(--paper);border-radius:var(--radius);overflow:hidden}
/* Contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-details dl{margin:2.2rem 0}.contact-details dl div{padding:1rem 0;border-bottom:1px solid var(--line)}.contact-details dt{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.contact-details dd{margin:.35rem 0 0;font-size:1.05rem}.contact-form-wrap{background:#fff;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:var(--shadow);border-radius:var(--radius)}.contact-form label{display:flex;flex-direction:column;gap:.45rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:1.2rem}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:#fbfaf7;padding:.9rem;font:inherit;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(154,120,71,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-success{text-align:center;padding:4rem 1rem}.form-success strong{display:grid;place-items:center;margin:auto;width:60px;height:60px;border-radius:50%;background:#e7f3e6;color:#477444;font-size:1.6rem}.form-success h3{font-size:2rem;margin-top:1.2rem}.form-error{background:#fbe9e6;color:#8a3024;padding:1rem;margin-bottom:1.2rem}
/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.blog-image{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0}.blog-image img{transition:transform .65s}.blog-card:hover .blog-image img{transform:scale(1.04)}.blog-card-body{padding:2rem}.blog-card-body h2{font-size:2rem}.blog-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:1rem;margin:1.5rem 0;color:var(--ink-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.article-hero-content>div{display:flex;gap:1.5rem;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.article-body{max-width:800px;margin:auto;padding:clamp(4rem,8vw,8rem) 24px}.article-lead{font-family:Georgia,serif;font-size:1.55rem;color:var(--ink);line-height:1.6;border-left:3px solid var(--gold);padding-left:1.5rem;margin:3rem 0}.article-content p{font-size:1.1rem}.simple-page{min-height:70vh;display:grid;place-items:center;padding:7rem 24px}.narrow{max-width:700px;text-align:center}.empty-state{grid-column:1/-1;text-align:center;padding:4rem;background:#fff;border:1px solid var(--line)}
/* Footer */
.site-footer{background:#17130f;color:#fff;padding:5rem max(5vw,24px) 1.5rem}.footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:7vw}.footer-brand p{color:rgba(255,255,255,.58);max-width:520px;margin-top:1.5rem}.site-footer h3{font-size:1.1rem;margin-bottom:1.4rem}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.65rem 0;color:rgba(255,255,255,.7);font-size:.88rem}.site-footer a:hover{color:#d8bd91}.socials{display:flex;gap:1rem;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.footer-bottom{max-width:1240px;margin:4rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
/* Reveals */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible,.reveal-ready{opacity:1;transform:none}
[dir="rtl"] .price{text-align:left}[dir="rtl"] .site-header,[dir="rtl"] .mobile-menu{text-align:right}[dir="rtl"] .card-meta span+span:before{margin-right:0;margin-left:1rem}[dir="rtl"] .article-lead{border-left:0;border-right:3px solid var(--gold);padding-left:0;padding-right:1.5rem}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block}.desktop-book{display:none}.room-grid,.tour-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.3fr .7fr .8fr}.detail-layout{grid-template-columns:1fr .65fr;gap:3rem}}
@media(max-width:760px){:root{--radius:20px;--radius-small:14px}h1{font-size:clamp(3.2rem,17vw,5.2rem)}h2{font-size:clamp(2.3rem,11vw,3.5rem)}.site-header{height:82px}.nav-shell{padding:0 20px}.brand-copy strong{font-size:1.05rem}.brand-mark{width:38px;height:38px}.lang-switcher{display:none}.home-hero{min-height:640px}.home-hero-content{padding:90px 24px 50px}.home-hero-content>p:not(.eyebrow){font-size:1rem}.hero-buttons{width:100%}.hero-buttons .button{width:100%}.page-hero{height:520px}.page-hero-content{padding:0 24px 56px}.section{padding:5rem 24px}.two-column,.split-heading,.contact-grid,.detail-layout{grid-template-columns:1fr;gap:3rem}.intro-image-stack,.about-collage{min-height:470px}.room-grid,.tour-grid,.benefit-grid,.testimonial-grid,.blog-grid{grid-template-columns:1fr}.gallery-preview{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.gallery-preview-item:nth-child(n+7){display:none}.detail-hero,.article-hero{height:680px}.detail-hero-content,.article-hero-content{padding:0 24px 55px}.booking-card{position:static}.detail-gallery{grid-template-columns:1fr}.booking-strip{flex-direction:column;text-align:center;gap:1.5rem}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{flex-direction:column;gap:.6rem}.mobile-menu{padding:22px}.mobile-menu-bottom{align-items:stretch;flex-direction:column}.mobile-menu-bottom .button{width:100%}.article-hero-content>div{flex-direction:column;gap:.3rem}.masonry-gallery{columns:2 150px}.gallery-tile,.gallery-tile img{min-height:180px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
