:root{
  --ink:#17130f; --muted:#6f655b; --cream:#fbf4ea; --paper:#fffaf5; --white:#fff; --line:rgba(70,48,28,.14);
  --gold:#a16207; --gold2:#c88b2d; --olive:#52603c; --sea:#315f6f; --shadow:0 30px 90px rgba(58,38,20,.16); --soft:0 16px 45px rgba(58,38,20,.10);
  --serif:'Cormorant Garamond', 'Playfair Display', Georgia, serif; --sans:'Montserrat', 'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:linear-gradient(180deg,var(--cream),#fffaf4 48%,#f7eadb);color:var(--ink);font-family:var(--sans);font-size:15.5px;line-height:1.68;letter-spacing:.005em;overflow-x:hidden} img{display:block;max-width:100%;height:auto} a{text-decoration:none;color:inherit} button{font:inherit}.skip-link{position:absolute;left:-999px;top:10px;background:var(--ink);color:white;padding:.7rem 1rem;z-index:9999}.skip-link:focus{left:10px}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:fixed;inset:0 0 auto;z-index:80;padding:18px 0;pointer-events:none}.nav{pointer-events:auto;width:min(1220px,calc(100% - 28px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 24px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,250,245,.82);backdrop-filter:blur(22px) saturate(160%);box-shadow:0 18px 55px rgba(52,36,20,.12)}.brand{font-family:var(--serif);font-weight:600;font-size:1.5rem;letter-spacing:.005em;color:var(--ink);white-space:nowrap}.brand span{color:var(--gold);font-weight:600}.nav-links{display:flex;align-items:center;gap:22px;color:#463a2f;font-size:.82rem;font-weight:600;letter-spacing:.025em}.nav-links a:not(.book){position:relative}.nav-links a:not(.book)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--gold);transform:scaleX(0);transition:.25s ease}.nav-links a:hover::after{transform:scaleX(1)}.langs{display:flex;align-items:center;gap:6px;color:#9a8d7f}.langs button{border:0;background:transparent;min-width:44px;min-height:44px;color:#6d6257;font-weight:800;cursor:pointer;border-radius:999px}.langs button.active{color:white;background:var(--ink)}.book,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;font-weight:800;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.book{padding:11px 18px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:white!important;box-shadow:0 12px 28px rgba(161,98,7,.25)}.book:hover,.btn:hover{transform:translateY(-2px)}.menu{display:none;border:0;background:transparent;width:48px;height:44px;cursor:pointer}.menu span{display:block;height:2px;background:var(--ink);margin:8px;border-radius:2px}
.hero{position:relative;min-height:100dvh;display:grid;place-items:center;isolation:isolate;color:white;overflow:hidden}.hero-media,.hero-scrim{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);animation:slowZoom 18s ease-in-out infinite alternate}.hero-scrim{background:linear-gradient(90deg,rgba(10,8,5,.62),rgba(10,8,5,.24) 48%,rgba(10,8,5,.44)),linear-gradient(0deg,rgba(10,8,5,.56),transparent 42%,rgba(10,8,5,.18));z-index:-1}.hero-media{z-index:-2}.hero-content{width:min(940px,calc(100% - 40px));padding-top:66px}.eyebrow,.kicker{margin:0 0 .85rem;text-transform:uppercase;letter-spacing:.24em;font-size:.68rem;font-weight:600;color:var(--gold2)}.hero h1{font-family:var(--serif);font-size:clamp(2.55rem,6.4vw,5.85rem);font-weight:500;line-height:1.02;letter-spacing:-.025em;max-width:820px;margin:0;text-shadow:0 16px 48px rgba(0,0,0,.26)}.lead{font-size:clamp(.92rem,1.45vw,1.08rem);font-weight:400;max-width:610px;color:rgba(255,255,255,.88);margin:1.15rem 0 0;line-height:1.72}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.55rem}.btn{padding:12px 19px;font-size:.86rem;letter-spacing:.025em}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:white;box-shadow:0 18px 36px rgba(0,0,0,.22)}.btn.ghost{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);backdrop-filter:blur(14px);color:white}.hero-card{position:absolute;right:min(5vw,70px);bottom:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:28px;background:rgba(255,250,245,.76);backdrop-filter:blur(22px);box-shadow:var(--shadow);color:var(--ink)}.hero-card div{min-width:96px;padding:15px 17px;text-align:center;background:rgba(255,255,255,.38)}.hero-card b{display:block;font-family:var(--serif);font-weight:600;font-size:1.65rem;line-height:1;color:var(--gold)}.hero-card span{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#5d5046;margin-top:5px}
.section{padding:clamp(72px,9vw,126px) 0}.intro-grid{display:grid;grid-template-columns:220px 1fr;gap:clamp(30px,6vw,90px);align-items:start}.intro h2,.story-copy h2,.section-head h2,.location h2,.contact h2{font-family:var(--serif);font-size:clamp(1.85rem,3.45vw,3.8rem);font-weight:500;line-height:1.1;letter-spacing:-.018em;margin:0;color:var(--ink)}.intro p:not(.kicker),.story-copy p,.location p,.contact p,.section-head p{color:var(--muted);max-width:760px}.story{background:var(--paper)}.story-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-auto-rows:minmax(260px,auto);gap:22px;align-items:stretch}.story-img,.story-copy{margin:0;border-radius:34px;overflow:hidden;background:white;box-shadow:var(--soft);border:1px solid rgba(255,255,255,.8)}.story-img{position:relative}.story-img img{width:100%;height:100%;min-height:320px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.story-img:hover img{transform:scale(1.045)}.story-img.large{grid-row:span 2}.story-img figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 16px;border-radius:18px;background:rgba(255,250,245,.84);backdrop-filter:blur(16px);font-weight:700;color:#47382c}.story-copy{padding:clamp(28px,5vw,58px);display:flex;flex-direction:column;justify-content:center}.comfort{background:linear-gradient(180deg,#fffaf4,#f7ecdf)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.section-head.wide{align-items:start}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature{position:relative;min-height:185px;padding:24px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:var(--soft);transition:transform .25s ease, box-shadow .25s ease}.feature:hover{transform:translateY(-6px);box-shadow:0 24px 70px rgba(58,38,20,.14)}.feature b{font-family:var(--serif);font-weight:600;font-size:1.95rem;color:var(--gold);line-height:1}.feature h3{font-size:.94rem;margin:.7rem 0 .2rem;letter-spacing:.01em}.feature p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}
.photos{background:#17130f;color:white;overflow:hidden}.photos .section-head{color:white}.photos h2{color:white}.photos .section-head p{color:rgba(255,255,255,.72)}.carousel-wrap{position:relative;width:min(1500px,100%);margin:0 auto}.carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px max(24px,calc((100vw - 1180px)/2)) 28px;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.slide{flex:0 0 min(74vw,520px);scroll-snap-align:center}.slide-open{width:100%;border:0;padding:0;cursor:pointer;text-align:left;border-radius:34px;overflow:hidden;background:#2a2119;color:white;box-shadow:0 26px 90px rgba(0,0,0,.34);transition:transform .3s ease,box-shadow .3s ease}.slide-open:hover{transform:translateY(-7px);box-shadow:0 34px 110px rgba(0,0,0,.45)}.slide img{width:100%;height:clamp(300px,48vw,560px);object-fit:cover}.slide span{display:block;padding:16px 20px;font-family:var(--serif);font-weight:500;font-size:1.14rem;color:#f6e9d8}.car-btn{position:absolute;z-index:5;top:45%;width:54px;height:54px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:rgba(255,250,245,.14);backdrop-filter:blur(16px);color:white;font-size:2.2rem;line-height:1;cursor:pointer;transition:.25s ease}.car-btn:hover{background:var(--gold);transform:translateY(-2px)}.car-btn.prev{left:18px}.car-btn.next{right:18px}.location{background:var(--paper)}.location-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;align-items:stretch}.location ul{padding:0;margin:1.5rem 0 0;list-style:none;display:grid;gap:10px}.location li{padding:12px 16px;border-radius:999px;background:white;border:1px solid var(--line);font-weight:700;color:#4c4037}#map{min-height:520px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9);background:#e7dbc9}.contact{background:linear-gradient(135deg,#302317,#15110d);color:white}.contact-panel{padding:clamp(34px,6vw,72px);border-radius:42px;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);box-shadow:0 34px 120px rgba(0,0,0,.24);text-align:center}.contact h2{color:white}.contact p{margin-inline:auto;color:rgba(255,255,255,.74)}.contact-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.contact-link{display:flex;flex-direction:column;gap:5px;padding:22px;border-radius:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);transition:.25s ease}.contact-link:hover{transform:translateY(-4px);background:rgba(255,255,255,.16)}.contact-link b{font-family:var(--serif);font-size:1.35rem}.contact-link span{color:rgba(255,255,255,.72);font-size:.92rem}.whatsapp{background:linear-gradient(135deg,rgba(37,211,102,.32),rgba(255,255,255,.08))}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0;color:#62564d;font-size:.92rem}.foot div{display:flex;gap:18px;flex-wrap:wrap}.foot a:hover{color:var(--gold)}.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:72px 22px 38px;background:rgba(12,9,6,.88);backdrop-filter:blur(18px);color:white}.lightbox.open{display:flex}.lightbox figure{margin:0;text-align:center;max-width:min(1180px,92vw)}.lightbox img{max-height:78vh;max-width:100%;border-radius:24px;box-shadow:0 30px 120px rgba(0,0,0,.5)}.lightbox figcaption{margin-top:14px;color:#f4e6d4;font-family:var(--serif);font-size:1.25rem}.close,.lbprev,.lbnext{position:absolute;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);color:white;border-radius:999px;cursor:pointer;backdrop-filter:blur(14px)}.close{top:22px;right:24px;width:54px;height:54px;font-size:2rem}.lbprev,.lbnext{top:50%;width:56px;height:56px;font-size:2.4rem}.lbprev{left:24px}.lbnext{right:24px}@keyframes slowZoom{from{transform:scale(1.02)}to{transform:scale(1.09)}}
@media (max-width:980px){.menu{display:block}.nav-links{position:absolute;top:76px;right:14px;left:14px;display:none;flex-direction:column;align-items:stretch;gap:8px;padding:18px;border-radius:28px;background:rgba(255,250,245,.96);box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a,.langs{padding:10px 12px}.book{justify-content:center}.hero-card{left:20px;right:20px;grid-template-columns:repeat(4,1fr)}.hero-card div{min-width:0;padding:14px 8px}.intro-grid,.story-grid,.location-grid{grid-template-columns:1fr}.story-img.large{grid-row:auto}.feature-grid,.contact-buttons{grid-template-columns:repeat(2,1fr)}.section-head{display:block}.section-head p{margin-top:1rem}}
@media (max-width:640px){body{font-size:14.5px}.container{width:min(100% - 28px,1180px)}.site-header{padding:12px 0}.nav{width:calc(100% - 20px);padding:10px 10px 10px 17px}.brand{font-size:1.28rem}.hero{min-height:92dvh;place-items:end start;padding-bottom:132px}.hero-content{width:calc(100% - 28px);margin:auto;padding-top:92px}.hero h1{font-size:clamp(2.05rem,10.2vw,3.25rem);line-height:1.04}.lead{font-size:.88rem;line-height:1.62;max-width:94%}.hero-actions{gap:9px;margin-top:1.25rem}.btn{width:100%;padding:11px 15px;font-size:.82rem}.hero-card{bottom:14px;left:10px;right:10px;border-radius:22px}.hero-card b{font-size:1.12rem}.hero-card span{font-size:.54rem;letter-spacing:.1em}.section{padding:68px 0}.intro h2,.story-copy h2,.section-head h2,.location h2,.contact h2{font-size:clamp(1.7rem,8.8vw,2.55rem);line-height:1.12}.story-copy{padding:26px}.story-img,.story-copy,#map,.contact-panel{border-radius:26px}.feature-grid,.contact-buttons{grid-template-columns:1fr}.feature{min-height:auto}.carousel{gap:14px;padding-inline:14px}.slide{flex-basis:82vw}.slide img{height:360px}.slide span{font-size:.98rem;padding:13px 15px}.car-btn{display:none}#map{min-height:380px}.foot{flex-direction:column;text-align:center}.lbprev,.lbnext{top:auto;bottom:22px}.lbprev{left:25%}.lbnext{right:25%}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
