:root{--paper:#f7f4ee;--tint:#efeae0;--surface:#fff;--ink:#1f2b25;--muted:#5f6b64;--line:rgba(31,43,37,.12);--forest:#2f4a3a;--forest-deep:#1f3328;--gold:#c89b3c;--gold-deep:#a97f25;--booked:#e3ddd2;--radius:18px;--radius-sm:10px;--shadow:0 1px 2px rgba(31,43,37,.06) , 0 8px 24px rgba(31,43,37,.08);--serif:"Fraunces" , Georgia , "Times New Roman" , serif;--sans:"Inter" , system-ui , -apple-system , "Segoe UI" , Roboto , sans-serif;--nav-h:72px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font: 400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--forest)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family: var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2.5rem,6vw,4.6rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:1.35rem}h4{font-size:1.35rem}p{margin:0 0 1em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}.icon{width:1.25em;height:1.25em;flex:none;vertical-align:-.25em}.wrap{width:min(1180px,100%);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}.section{padding-block:clamp(64px,10vw,120px)}.section--tint{background:var(--tint)}.section--dark{background:var(--forest-deep);color:#e9eee9}.section--dark h2,.section--dark h3{color:#fff}.section__head{max-width:680px;margin-bottom:clamp(32px,5vw,56px)}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.9rem}.eyebrow--light{color:var(--gold)}.lead{font-size:1.15rem;color:var(--muted)}.section--dark .lead{color:#b9c6bd}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 1.5em;border-radius:999px;border:1px solid transparent;background:var(--forest);color:#fff;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:background .2s , transform .2s , box-shadow .2s}.btn:hover{background:var(--forest-deep)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--gold{background:var(--gold);color:#1c1608}.btn--gold:hover{background:#d6aa4b}.btn--ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(6px)}.btn--ghost:hover{background:rgba(255,255,255,.22)}.btn--small{padding:.6em 1.15em;font-size:.88rem}.btn--block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:background .2s}.icon-btn:hover{background:var(--tint)}.link{background:none;border:0;padding:0;color:var(--forest);text-decoration:underline;cursor:pointer;font-size:.9rem}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav{position:fixed;inset:0 0 auto;z-index:50;padding-top:env(safe-area-inset-top,0);transition:background .3s , box-shadow .3s;color:#fff}.nav__inner{height:var(--nav-h);display:flex;align-items:center;gap:24px;width:min(1280px,100%);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}.nav.is-solid{background:rgba(247,244,238,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);color:var(--ink)}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#1c1608}.brand__mark .icon{width:22px;height:22px}.brand__name{font-family: var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:-.01em}.nav__links{display:flex;gap:28px;margin-left:auto}.nav__links a{color:inherit;text-decoration:none;font-size:.95rem;font-weight:500;opacity:.88}.nav__links a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px}.nav__actions{display:flex;align-items:center;gap:14px}.lang{color:inherit;font-size:.85rem;font-weight:600;text-decoration:none;padding:6px 10px;border:1px solid currentColor;border-radius:999px;opacity:.8}.lang:hover{opacity:1}.nav__toggle{display:none;width:42px;height:42px;border:0;background:none;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:0 9px}.nav__toggle span:not(.sr-only) {display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .25s}.nav.is-open .nav__toggle span:nth-of-type(2) {transform:translateY(4px) rotate(45deg)}.nav.is-open .nav__toggle span:nth-of-type(3) {transform:translateY(-4px) rotate(-45deg)}@media (max-width:900px){.nav__toggle{display:flex}.nav__links{position:absolute;top: calc(var(--nav-h) + env(safe-area-inset-top, 0px));left:0;right:0;flex-direction:column;gap:0;margin:0;padding:8px clamp(16px,4vw,32px) 20px;background:var(--paper);color:var(--ink);box-shadow:0 12px 24px rgba(0,0,0,.08);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s , transform .2s}.nav__links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.05rem}.nav.is-open{background:var(--paper);color:var(--ink)}.nav.is-open .nav__links{opacity:1;transform:none;pointer-events:auto}.nav__actions{margin-left:auto}}@media (max-width:420px){.nav__actions .btn{display:none}}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--forest-deep)}.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 18s ease-out both}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,25,19,.45) 0%,rgba(15,25,19,0) 30%,rgba(15,25,19,.15) 55%,rgba(15,25,19,.78) 100%)}.hero__content{position:relative;z-index:1;padding-bottom:clamp(56px,10vh,110px);text-shadow:0 1px 14px rgba(10,18,13,.45)}.hero .eyebrow{color:#f3d58f}.hero h1{max-width:13ch;color:#fff}.hero__lead{max-width:560px;font-size:clamp(1.05rem,1.6vw,1.2rem);color:rgba(255,255,255,.88)}.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}@keyframes heroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.about__img{margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio: 4 / 3;box-shadow:var(--shadow)}.about__img img{width:100%;height:100%;object-fit:cover}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:clamp(48px,7vw,80px)}.feature{padding:26px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line)}.feature h3{font-size:1.15rem;margin-top:16px}.feature p{color:var(--muted);font-size:.95rem;margin:0}.feature__icon,.activity__icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(200,155,60,.14);color:var(--gold-deep)}.feature__icon .icon,.activity__icon .icon{width:24px;height:24px}@media (max-width:960px){.features{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.about{grid-template-columns:1fr}}@media (max-width:520px){.features{grid-template-columns:1fr}}.home+.home{margin-top:clamp(48px,7vw,72px)}.home__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.home__head h3{font-size:1.7rem;margin:0}.home__head p{margin:0;color:var(--muted);max-width:560px}.cards{display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.cards--1{grid-template-columns:1fr}.cards--1 .card{display:grid;grid-template-columns:1.1fr 1fr}.cards--1 .card__media{aspect-ratio:auto;min-height:320px}.card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card__media{position:relative;display:block;width:100%;aspect-ratio: 4 / 3;padding:0;border:0;background:var(--tint);cursor:zoom-in;overflow:hidden}.card__media:disabled{cursor:default}.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.card__media:not(:disabled):hover img {transform:scale(1.04)}.card__count{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(20,30,24,.7);color:#fff;font-size:.8rem;font-weight:500;backdrop-filter:blur(4px)}.card__body{padding:24px;display:flex;flex-direction:column;flex:1}.card__tag{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px}.card__desc{color:var(--muted);font-size:.95rem}.card__features{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:7px;font-size:.92rem}.card__features li{display:flex;gap:10px;align-items:flex-start}.card__features .icon{color:var(--forest);width:1.1em;height:1.1em;margin-top:.25em}.card__foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.price strong{font-family: var(--serif);font-size:1.45rem;font-weight:600}.price small{color:var(--muted)}.price__req{font-size:1.05rem!important}@media (max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.cards--1{grid-template-columns:1fr}}@media (max-width:680px){.cards,.cards--1 .card{grid-template-columns:1fr}.cards--1 .card__media{min-height:0;aspect-ratio: 4 / 3}}.booking{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}.booking__side{position:sticky;top: calc(var(--nav-h) + 16px)}.step+.step{margin-top:28px}.step__title{display:flex;align-items:center;gap:12px;font-size:1.2rem;margin-bottom:16px}.step__title span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--forest);color:#fff;font: 600 .85rem var(--sans)}.listing-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.pick{position:relative;cursor:pointer}.pick input{position:absolute;opacity:0}.pick__box{display:flex;flex-direction:column;gap:2px;height:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s , box-shadow .2s}.pick__box strong{font-weight:600;font-size:.95rem;line-height:1.3}.pick__box small{color:var(--muted)}.pick:hover .pick__box{border-color:rgba(47,74,58,.45)}.pick input:checked+.pick__box{border-color:var(--forest);box-shadow:0 0 0 3px rgba(47,74,58,.14)}.pick input:focus-visible+.pick__box{outline:2px solid var(--gold);outline-offset:2px}.calendar{position:relative;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.calendar__nav{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;pointer-events:none}.calendar__nav button{pointer-events:auto}.calendar__nav button:disabled{opacity:.3;cursor:default}.calendar__months{display:grid;grid-template-columns:1fr 1fr;gap:32px;min-height:330px}.calendar__loading{grid-column: 1 / -1;align-self:center;text-align:center;color:var(--muted)}.month h4{text-align:center;font-size:1.1rem;margin:8px 0 14px;text-transform:capitalize}.month__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}.month__wd{text-align:center;font-size:.72rem;font-weight:600;text-transform:uppercase;color:var(--muted);padding-bottom:6px}.day{position:relative;aspect-ratio:1;min-height:40px;border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.92rem;font-weight:500;cursor:pointer;border-radius:10px;line-height:1.1}.day small{font-size:.62rem;font-weight:500;color:var(--muted);margin-top:2px}.day:hover:not(:disabled) {background:var(--tint)}.day:disabled{cursor:default}.day.is-past{color:#b9b9b2}.day.is-past small{visibility:hidden}.day.is-booked{color:#a9a39a;text-decoration:line-through;background:repeating-linear-gradient(135deg,transparent 0 5px,var(--booked) 5px 6px)}.day.is-booked small{visibility:hidden}.day.is-checkout-ok{text-decoration:none;color:var(--ink)}.day.is-in-range{background:rgba(47,74,58,.12);border-radius:0}.day.is-start,.day.is-end{background:var(--forest)!important;color:#fff;text-decoration:none}.day.is-start small,.day.is-end small{color:rgba(255,255,255,.8);visibility:visible}.day.is-start{border-radius:10px 0 0 10px}.day.is-end{border-radius:0 10px 10px 0}.day.is-start.is-end,.day.is-start.is-single{border-radius:10px}.day.is-today::after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--gold)}.day.is-start.is-today::after,.day.is-end.is-today::after{background:#fff}.calendar__legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}.calendar__legend span{display:inline-flex;align-items:center;gap:8px}.dot{width:14px;height:14px;border-radius:4px;border:1px solid var(--line)}.dot--free{background:var(--surface)}.dot--booked{background:repeating-linear-gradient(135deg,var(--surface) 0 3px,#cfc7b9 3px 4px)}.dot--selected{background:var(--forest);border-color:var(--forest)}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.summary{background:var(--paper);border-radius:var(--radius-sm);padding:16px;margin-bottom:20px}.summary__dates{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary__dates>div{display:flex;flex-direction:column}.summary__dates small{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.summary__dates strong{font-size:1.05rem;font-weight:600}.summary__dates .icon{color:var(--muted)}.summary__hint{margin:10px 0 0;font-size:.88rem;color:var(--muted)}.summary__hint.is-warn{color:#9a4b16}.summary__total{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.summary__total strong{font-family: var(--serif);font-size:1.5rem}.summary .link{margin-top:8px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;flex:1;min-width:0}.field label{font-size:.85rem;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s , box-shadow .2s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(47,74,58,.14)}.field--sm{flex:0 0 110px}.field-row{display:flex;gap:12px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-error{color:#a3321b;background:#fbeee9;padding:10px 14px;border-radius:var(--radius-sm);font-size:.9rem}.form-ok{color:#24593a;background:#e8f3ec;padding:10px 14px;border-radius:var(--radius-sm);font-size:.9rem}.fine{font-size:.8rem;color:var(--muted);margin:12px 0 0;text-align:center}.channels{text-align:center;font-size:.85rem;color:var(--muted);margin-top:16px}.panel--success{text-align:center;padding:40px 28px}.success-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e3efe6;color:var(--forest);margin-bottom:16px}.success-icon .icon{width:32px;height:32px}@media (max-width:1000px){.booking{grid-template-columns:1fr}.booking__side{position:static}}@media (max-width:640px){.calendar{padding:16px 12px}.calendar__months{grid-template-columns:1fr;gap:24px;min-height:0}.calendar__nav{top:12px;left:8px;right:8px}.field-row{flex-direction:column;gap:0}.field--sm{flex:1}}.activities{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden}.activity{display:flex;gap:18px;padding:28px;background:var(--forest-deep)}.activity h3{font-size:1.15rem;margin-bottom:.35em}.activity p{margin:0;color:#b9c6bd;font-size:.95rem}.activity__icon{background:rgba(200,155,60,.16);color:var(--gold)}.food{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:center;margin-top:48px;padding:20px;border-radius:var(--radius);background:rgba(255,255,255,.05)}.food img{border-radius:12px;aspect-ratio: 4 / 3;object-fit:cover;width:100%}.food p{margin:0;color:#cdd7d0}@media (max-width:900px){.activities{grid-template-columns:1fr 1fr}}@media (max-width:640px){.activities{grid-template-columns:1fr}.food{grid-template-columns:1fr}}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:12px}.gallery__item{padding:0;border:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:var(--tint)}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery__item:hover img{transform:scale(1.05)}.gallery__item:nth-child(1) {grid-column:span 2;grid-row:span 2}.gallery__item:nth-child(5) {grid-column:span 2}@media (max-width:800px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.gallery__item:nth-child(5) {grid-column:auto}}.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:stretch}.contact__list{list-style:none;padding:0;margin:28px 0;display:grid;gap:18px}.contact__list li{display:flex;gap:14px;align-items:center}.contact__list .icon{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--surface);color:var(--forest);box-shadow:var(--shadow)}.contact__list div{display:flex;flex-direction:column}.contact__list small{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.contact__list a{color:var(--ink);text-decoration:none;font-weight:500;font-size:1.05rem}.contact__list a:hover{color:var(--forest);text-decoration:underline}.social{display:flex;gap:10px}.social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--ink);transition:background .2s}.social a:hover{background:var(--surface)}.contact-form{margin-top:32px}.contact-form h3{font-size:1.2rem}.contact__map{border-radius:var(--radius);overflow:hidden;min-height:420px;box-shadow:var(--shadow);background:var(--booked)}.contact__map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}@media (max-width:900px){.contact{grid-template-columns:1fr}}.footer{background:var(--forest-deep);color:#b9c6bd;padding: 36px 0 calc(36px + env(safe-area-inset-bottom, 0px));font-size:.88rem}.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}.footer p{margin:0}.brand--light{color:#fff}.social--light a{color:#fff;border-color:rgba(255,255,255,.2)}.social--light a:hover{background:rgba(255,255,255,.1)}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(12,18,14,.94);display:grid;grid-template-columns:64px 1fr 64px;align-items:center;padding:max(16px,env(safe-area-inset-top,0)) 8px max(16px,env(safe-area-inset-bottom,0))}.lightbox figure{grid-column:2;margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}.lightbox img{max-height:82vh;max-width:100%;object-fit:contain;border-radius:6px}.lightbox figcaption{color:#dfe6e1;font-size:.92rem;text-align:center}.lightbox .icon-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}.lightbox .icon-btn:hover{background:rgba(255,255,255,.2)}.lightbox__close{position:absolute;top:max(16px,env(safe-area-inset-top,0));right:16px}.lightbox__prev{grid-column:1;justify-self:center}.lightbox__next{grid-column:3;justify-self:center}@media (max-width:640px){.lightbox{grid-template-columns:1fr}.lightbox figure{grid-column:1}.lightbox__prev,.lightbox__next{position:absolute;bottom:max(24px,env(safe-area-inset-bottom,0))}.lightbox__prev{left:24px}.lightbox__next{right:24px}}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease , transform .7s ease}.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__img{animation:none}.js .reveal{opacity:1;transform:none;transition:none}}