.site-header{position:sticky;top:0;z-index:30;height:var(--header-height);border-bottom:1px solid rgba(31,39,36,.08);background:#fbf8f1ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-header__brand{display:flex;flex-direction:column;line-height:1}.site-header__brand strong{font-family:var(--font-display);font-size:1.75rem;letter-spacing:.08em}.site-header__brand span{margin-top:5px;color:var(--color-ink-soft);font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.site-header__nav{display:flex;align-items:center;gap:20px;font-size:.92rem;font-weight:700}.site-header__nav>a:not(.site-header__booking){position:relative;padding:10px 0}.site-header__nav>a:not(.site-header__booking):after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--color-forest);transition:right .18s ease}.site-header__nav>a.active:after,.site-header__nav>a:hover:after{right:0}.site-header__booking{padding:11px 18px;border-radius:var(--radius-pill);background:var(--color-forest);color:#fff}.site-header__menu-button{display:none;width:42px;height:42px;border:0;border-radius:50%;background:transparent}.site-header__menu-button span{display:block;width:22px;height:2px;margin:5px auto;background:var(--color-ink)}@media(max-width:1020px){.site-header__menu-button{display:block}.site-header__nav{position:absolute;top:var(--header-height);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:18px 20px 24px;background:var(--color-cream);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-soft)}.site-header__nav--open{display:flex}.site-header__nav a{padding:12px 8px!important}.site-header__booking{margin-top:10px;text-align:center}}.site-footer{padding:62px 0 24px;background:#122b24;color:#ffffffc2}.site-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:42px}.site-footer__brand{margin-bottom:14px;color:#fff;font-family:var(--font-display);font-size:2rem;letter-spacing:.08em}.site-footer h3{margin-bottom:16px;color:#fff;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}.site-footer a,.site-footer span{display:block;margin-bottom:9px}.site-footer a:hover{color:#fff}.site-footer__bottom{display:flex;justify-content:space-between;gap:24px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.84rem}.site-footer__bottom div{display:flex;gap:18px}@media(max-width:820px){.site-footer__grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.site-footer__grid{grid-template-columns:1fr;gap:28px}.site-footer__bottom{flex-direction:column}}.admin-shell{min-height:100vh;background:#f5f6f3}.admin-shell__bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:0 clamp(18px,3vw,48px);background:var(--color-forest-deep);color:var(--color-white);box-shadow:0 7px 24px #0f271f26}.admin-shell__brand{display:inline-flex;align-items:baseline;gap:8px;letter-spacing:.06em}.admin-shell__brand strong{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.admin-shell__brand span{color:#ffffff94;font-size:.64rem;font-weight:800;letter-spacing:.17em}.admin-shell__nav{display:flex;align-items:center;gap:4px}.admin-shell__nav a{padding:9px 13px;border-radius:9px;color:#ffffffc2;font-size:.82rem;font-weight:700;transition:background .18s ease,color .18s ease}.admin-shell__nav a:hover,.admin-shell__nav a.active{background:#ffffff1a;color:var(--color-white)}.admin-shell__nav .admin-shell__public-link{margin-left:8px;border:1px solid rgba(255,255,255,.16)}.admin-shell__content{min-width:0}@media(max-width:640px){.admin-shell__bar{align-items:flex-start;flex-direction:column;gap:8px;padding-top:12px;padding-bottom:12px}.admin-shell__nav{width:100%;overflow-x:auto}.admin-shell__nav a{white-space:nowrap}}.button-link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border:1px solid transparent;border-radius:var(--radius-pill);font-weight:800;transition:transform .18s ease,background .18s ease,color .18s ease}.button-link:hover{transform:translateY(-1px)}.button-link--primary{background:var(--color-forest);color:var(--color-white)}.button-link--secondary{border-color:var(--color-forest);color:var(--color-forest)}.button-link--light{background:var(--color-white);color:var(--color-forest-deep)}.site-image{width:100%;height:100%;object-fit:cover;background:#dbe4df}.site-image--fallback{display:grid;min-height:220px;place-items:center;padding:24px;background:linear-gradient(135deg,#24483d1f,#e8dfd085),#eef4f0;color:var(--color-forest);text-align:center;font-size:.9rem;font-weight:700}.home-hero{position:relative;min-height:calc(100vh - var(--header-height));display:flex;align-items:center;overflow:hidden;background:var(--color-forest-deep)}.home-hero__image,.home-hero__overlay{position:absolute;inset:0}.home-hero__overlay{background:linear-gradient(90deg,#0a1b16b8,#0a1b165e 52%,#0a1b161f)}.home-hero__content{position:relative;z-index:1;padding-bottom:110px;color:#fff}.home-hero__eyebrow{margin-bottom:12px;font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.home-hero h1{margin-bottom:12px;font-family:var(--font-display);font-size:clamp(4.5rem,13vw,9rem);font-weight:500;letter-spacing:.04em}.home-hero p{max-width:640px;margin-bottom:26px;font-family:var(--font-display);font-size:clamp(1.45rem,3vw,2.15rem)}.home-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.home-hero__actions .button-link--secondary{border-color:#fff;color:#fff}.home-hero__facts{position:absolute;z-index:2;left:0;right:0;bottom:0;background:#122b24db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.home-hero__facts-grid{min-height:84px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:20px}.home-hero__facts span{display:flex;align-items:baseline;gap:8px;color:#ffffffc7;font-size:.86rem}.home-hero__facts strong{color:#fff;font-size:1.35rem}@media(max-width:720px){.home-hero{min-height:720px}.home-hero__facts-grid{grid-template-columns:1fr 1fr;padding-block:16px}.home-hero__content{padding-bottom:160px}}.home-intro__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.home-intro__media{height:560px;overflow:hidden;border-radius:var(--radius-lg)}.home-intro h2{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.7rem);font-weight:500}.home-intro .button-link{margin-top:14px}@media(max-width:800px){.home-intro__grid{grid-template-columns:1fr}.home-intro__media{height:420px}}.house-overview{padding:88px 0}.house-overview__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.house-overview__copy h2{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:500}.house-overview__copy p{color:#ffffffba}.house-overview__facts{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.house-overview__facts span{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);color:#ffffffe0;font-size:.86rem}.house-overview__image{height:540px;overflow:hidden;border-radius:var(--radius-lg)}@media(max-width:800px){.house-overview__grid{grid-template-columns:1fr}}.section-heading{max-width:760px;margin-bottom:36px}.section-heading--center{margin-inline:auto;text-align:center}.section-heading h2{margin-bottom:14px;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.35rem);font-weight:500}.section-heading p{margin-bottom:0;color:var(--color-ink-soft);font-size:1.03rem}.room-card{overflow:hidden;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}.room-card__media{display:block;height:300px;overflow:hidden}.room-card__media .site-image{transition:transform .35s ease}.room-card:hover .room-card__media .site-image{transform:scale(1.025)}.room-card__body{padding:24px}.room-card h3{margin:14px 0 10px;font-family:var(--font-display);font-size:1.75rem;font-weight:500}.room-card p{color:var(--color-ink-soft)}.room-card__meta{padding-top:14px;border-top:1px solid var(--color-line);font-size:.9rem;font-weight:700}.room-card__link{display:inline-block;margin-top:18px;color:var(--color-forest);font-weight:800}.rooms-section__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rooms-section__action{margin-top:32px}@media(max-width:760px){.rooms-section__grid{grid-template-columns:1fr}}.amenity-card{overflow:hidden;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}.amenity-card__media{height:245px;overflow:hidden}.amenity-card__body{padding:22px}.amenity-card h3{margin:14px 0 8px;font-family:var(--font-display);font-size:1.5rem;font-weight:500}.amenity-card p{margin-bottom:0;color:var(--color-ink-soft)}.amenities-section__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.amenities-section__action{margin-top:32px}@media(max-width:900px){.amenities-section__grid{grid-template-columns:1fr 1fr}}@media(max-width:590px){.amenities-section__grid{grid-template-columns:1fr}}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:14px}.gallery-grid__item{margin:0;overflow:hidden;border-radius:var(--radius-md)}.gallery-grid__item--1{grid-column:span 7;grid-row:span 3}.gallery-grid__item--2,.gallery-grid__item--3{grid-column:span 5;grid-row:span 2}.gallery-grid__item--4{grid-column:span 4;grid-row:span 2}.gallery-grid__item--5{grid-column:span 8;grid-row:span 2}@media(max-width:760px){.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-grid__item{grid-column:span 1!important;grid-row:span 1!important}}@media(max-width:500px){.gallery-grid{grid-template-columns:1fr}}.gallery-preview__action{margin-top:30px}.area-section__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.area-section__card{overflow:hidden;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}.area-section__image{height:240px}.area-section__body{padding:22px}.area-section__body h3{margin-bottom:8px;font-family:var(--font-display);font-size:1.5rem;font-weight:500}.area-section__body p{margin-bottom:0;color:var(--color-ink-soft)}.area-section__action{margin-top:30px}@media(max-width:850px){.area-section__grid{grid-template-columns:1fr}}.reviews-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reviews-section__card{padding:28px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fff}.reviews-section__stars{margin-bottom:16px;color:#8b6c2f;letter-spacing:.12em}.reviews-section__card p{color:var(--color-ink-soft)}.reviews-section__card strong{font-size:.9rem}@media(max-width:800px){.reviews-section__grid{grid-template-columns:1fr}}.booking-cta{padding:68px 0}.booking-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:42px}.booking-cta h2{margin-bottom:12px;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:500}.booking-cta p{max-width:720px;margin-bottom:0;color:#ffffffb8}@media(max-width:760px){.booking-cta__inner{flex-direction:column;align-items:flex-start}}.page-hero{position:relative;min-height:430px;display:flex;align-items:end;overflow:hidden;background:var(--color-forest-deep)}.page-hero__image,.page-hero__overlay{position:absolute;inset:0}.page-hero__overlay{background:linear-gradient(180deg,#0a1a151f 20%,#0a1a15bd)}.page-hero__content{position:relative;z-index:1;padding-block:86px 56px;color:#fff}.page-hero__eyebrow{margin-bottom:12px;font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.page-hero h1{max-width:820px;margin-bottom:14px;font-family:var(--font-display);font-size:clamp(2.8rem,7vw,5.6rem);font-weight:500}.page-hero p{max-width:720px;margin-bottom:0;color:#ffffffd6;font-size:1.08rem}.house-page__intro{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.house-page__intro h2{font-family:var(--font-display);font-size:clamp(2.1rem,4vw,3.3rem);font-weight:500}.house-page__image{height:520px;overflow:hidden;border-radius:var(--radius-lg)}.house-page__floors{display:grid;grid-template-columns:1fr 1fr;gap:24px}.house-page__floors article{padding:30px;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}.house-page__floors h3{margin:18px 0;font-family:var(--font-display);font-size:2rem;font-weight:500}.house-page__floors ul{padding-left:20px}.house-page__moments{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.house-page__moment{overflow:hidden;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}.house-page__moment .site-image{height:260px}.house-page__moment h3{margin:20px 20px 8px;font-family:var(--font-display);font-size:1.6rem;font-weight:500}.house-page__moment p{margin:0 20px 24px;color:var(--color-ink-soft)}@media(max-width:800px){.house-page__intro,.house-page__floors,.house-page__moments{grid-template-columns:1fr}}.rooms-page__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}@media(max-width:760px){.rooms-page__grid{grid-template-columns:1fr}}.room-details__intro{display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center}.room-details__intro h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:500}.room-details__intro ul{padding-left:20px}.room-details__image{height:520px;overflow:hidden;border-radius:var(--radius-lg)}.room-details__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.room-details__gallery-item{height:250px;overflow:hidden;border-radius:var(--radius-md)}@media(max-width:800px){.room-details__intro{grid-template-columns:1fr}.room-details__gallery{grid-template-columns:1fr 1fr}}@media(max-width:520px){.room-details__gallery{grid-template-columns:1fr}}.amenities-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}@media(max-width:900px){.amenities-page__grid{grid-template-columns:1fr 1fr}}@media(max-width:590px){.amenities-page__grid{grid-template-columns:1fr}}.area-page__list{display:grid;gap:70px}.area-page__row{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.area-page__row--reverse .area-page__image{order:2}.area-page__image{height:390px;overflow:hidden;border-radius:var(--radius-lg)}.area-page__copy h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:500}@media(max-width:760px){.area-page__row{grid-template-columns:1fr;gap:26px}.area-page__row--reverse .area-page__image{order:0}}.pricing-page__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pricing-card{padding:30px;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}.pricing-card h2{font-family:var(--font-display);font-size:1.8rem;font-weight:500}.pricing-card__price{margin:26px 0 12px;color:var(--color-forest);font-size:1.5rem;font-weight:800}.pricing-card p{color:var(--color-ink-soft)}.pricing-page__terms{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}.pricing-page__terms h2{font-family:var(--font-display);font-size:2.5rem;font-weight:500}.pricing-page__terms ul{margin:0;padding-left:20px}@media(max-width:850px){.pricing-page__grid,.pricing-page__terms{grid-template-columns:1fr}}.date-range-picker{position:relative;min-width:0}.date-range-picker__trigger{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:center;width:100%;min-height:70px;padding:12px 16px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-ink);text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.date-range-picker__trigger:hover,.date-range-picker__trigger--active{border-color:#24483d47;background:var(--color-sage-soft)}.date-range-picker__trigger:focus-visible{outline:2px solid var(--color-forest);outline-offset:2px}.date-range-picker__trigger-icon{display:grid;width:32px;height:32px;place-items:center;color:var(--color-forest)}.date-range-picker__trigger-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.date-range-picker__trigger-copy{min-width:0}.date-range-picker__trigger-copy small,.date-range-picker__trigger-copy strong{display:block}.date-range-picker__trigger-copy small{margin-bottom:3px;color:var(--color-ink-soft);font-size:.74rem;font-weight:700}.date-range-picker__trigger-copy strong{overflow:hidden;font-size:.96rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.date-range-picker__popover{position:absolute;z-index:30;top:calc(100% + 10px);left:50%;width:min(760px,calc(100vw - 40px));padding:22px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:0 24px 70px #17332b2b;transform:translate(-50%)}.date-range-picker__topbar{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-line)}.date-range-picker__topbar>div:first-child{display:grid;gap:3px}.date-range-picker__topbar strong{font-family:var(--font-display);font-size:1.08rem;font-weight:600}.date-range-picker__topbar span{max-width:520px;color:var(--color-ink-soft);font-size:.78rem;line-height:1.4}.date-range-picker__navigation{display:flex;gap:8px;flex:0 0 auto}.date-range-picker__navigation button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-line);border-radius:50%;background:var(--color-white);color:var(--color-forest-deep);font-size:1.55rem;line-height:1;cursor:pointer}.date-range-picker__navigation button:hover:not(:disabled){border-color:#24483d5c;background:var(--color-sage-soft)}.date-range-picker__navigation button:disabled{opacity:.34;cursor:not-allowed}.date-range-picker__months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.date-range-picker__month{min-width:0}.date-range-picker__month h3{margin:0 0 14px;text-align:center;font-size:.94rem;font-weight:800;text-transform:capitalize}.date-range-picker__weekdays,.date-range-picker__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.date-range-picker__weekdays{margin-bottom:7px}.date-range-picker__weekdays span{padding-block:5px;color:var(--color-ink-soft);text-align:center;font-size:.7rem;font-weight:700;text-transform:uppercase}.date-range-picker__blank{aspect-ratio:1}.date-range-picker__day{position:relative;display:grid;aspect-ratio:1;min-width:0;place-items:center;border:0;border-radius:0;background:transparent;color:var(--color-ink);font-size:.82rem;font-weight:700;cursor:pointer;transition:opacity .14s ease}.date-range-picker__day:before{content:"";position:absolute;inset:2px;border-radius:50%;transition:background .13s ease,transform .13s ease,box-shadow .13s ease}.date-range-picker__day span{position:relative;z-index:2}.date-range-picker__day:hover:not(:disabled):before{background:var(--color-sage-soft);transform:scale(.96)}.date-range-picker__day--range{background:var(--color-sage-soft)}.date-range-picker__day--range:before{background:transparent}.date-range-picker__day--start,.date-range-picker__day--end{color:var(--color-white)}.date-range-picker__day--start:before,.date-range-picker__day--end:before{background:var(--color-forest)}.date-range-picker__day--start:hover:before,.date-range-picker__day--end:hover:before{background:var(--color-forest-deep)}.date-range-picker__day--today:not(.date-range-picker__day--start):not(.date-range-picker__day--end) span{text-decoration:underline;text-decoration-color:var(--color-forest);text-decoration-thickness:2px;text-underline-offset:4px}.date-range-picker__day--blocked,.date-range-picker__day--past{color:#a7ada9}.date-range-picker__day--blocked:after{content:"";position:absolute;z-index:1;width:21px;height:1px;background:#b6bcb8;transform:rotate(-35deg)}.date-range-picker__day--blocked:disabled,.date-range-picker__day--past:disabled,.date-range-picker__day--context-disabled:disabled{cursor:not-allowed}.date-range-picker__day--context-disabled{opacity:.22}.date-range-picker__day--checkout-boundary{color:var(--color-forest-deep)}.date-range-picker__day--checkout-boundary:after{display:none}.date-range-picker__day--checkout-boundary:before{background:var(--color-sage-soft);box-shadow:inset 0 0 0 2px var(--color-forest)}.date-range-picker__day--checkout-boundary:hover:before{background:var(--color-sage-soft);box-shadow:inset 0 0 0 2px var(--color-forest-deep)}.date-range-picker__day--end.date-range-picker__day--checkout-boundary{color:var(--color-white)}.date-range-picker__day--end.date-range-picker__day--checkout-boundary:before{background:var(--color-forest);box-shadow:none}.date-range-picker__day:focus-visible{z-index:3;outline:2px solid var(--color-forest);outline-offset:-2px}.date-range-picker__legend{display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:18px;padding-top:15px;border-top:1px solid var(--color-line);color:var(--color-ink-soft);font-size:.75rem;font-weight:700}.date-range-picker__legend span{display:inline-flex;gap:7px;align-items:center}.date-range-picker__legend i{display:inline-block;width:14px;height:14px;border-radius:50%}.date-range-picker__legend-free{border:1px solid var(--color-line);background:var(--color-white)}.date-range-picker__legend-selected{background:var(--color-forest)}.date-range-picker__legend-blocked{position:relative;background:#edf0ee}.date-range-picker__legend-blocked:after{content:"";position:absolute;top:6px;left:1px;width:12px;height:1px;background:#9ea6a1;transform:rotate(-35deg)}.date-range-picker__legend-checkout{border:2px solid var(--color-forest);background:var(--color-sage-soft)}@media(max-width:760px){.date-range-picker__popover{position:relative;top:auto;left:auto;width:100%;margin-top:10px;transform:none}.date-range-picker__months{grid-template-columns:1fr}.date-range-picker__second-month{display:none}}@media(max-width:520px){.date-range-picker__popover{padding:16px;border-radius:var(--radius-md)}.date-range-picker__topbar{align-items:flex-start}.date-range-picker__topbar span{display:none}.date-range-picker__day{font-size:.8rem}}.date-range-picker__trigger:disabled{opacity:.58;cursor:wait}.booking-page__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.booking-page__grid h2{font-family:var(--font-display);font-size:2.7rem;font-weight:500}.booking-page__note{display:grid;gap:5px;margin-top:28px;padding:20px;border-radius:var(--radius-md);background:var(--color-sage-soft)}.booking-form{display:grid;gap:16px;padding:30px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.booking-form__date-section{display:grid;gap:8px}.booking-form__section-label{font-size:.88rem;font-weight:800}.booking-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form__name-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.booking-form label{display:grid;gap:7px;font-size:.88rem;font-weight:800}.booking-form input,.booking-form textarea{width:100%;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:#fff;padding:12px 13px;outline:none}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--color-forest)}.booking-form>button[type=submit]{min-height:50px;border:0;border-radius:var(--radius-pill);background:var(--color-forest);color:#fff;font-weight:800;cursor:pointer}.booking-form>button[type=submit]:hover{background:var(--color-forest-deep)}.booking-form__privacy{margin:-4px 4px 0;color:var(--color-ink-soft);font-size:.76rem;line-height:1.5}.booking-form__error{margin:0;color:#8b3d32;font-size:.8rem;font-weight:700}.booking-form__success{margin:0;padding:12px;border-radius:var(--radius-sm);background:var(--color-sage-soft);color:var(--color-forest-deep);font-size:.9rem}@media(max-width:820px){.booking-page__grid{grid-template-columns:1fr}}@media(max-width:680px){.booking-form__name-row{grid-template-columns:1fr}}@media(max-width:520px){.booking-form__row{grid-template-columns:1fr}.booking-form{padding:20px}}.booking-form__availability-status{margin:0;color:var(--color-ink-soft);font-size:.8rem}.booking-form__availability-error{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:var(--radius-sm);background:#f8eeeb;color:#8b3d32;font-size:.8rem;font-weight:700}.booking-form__availability-error button{flex:0 0 auto;border:1px solid currentColor;border-radius:var(--radius-pill);background:transparent;color:inherit;padding:7px 11px;font:inherit;cursor:pointer}.booking-form>button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.booking-form__error-summary{display:grid;gap:4px;padding:12px;border-radius:var(--radius-sm);background:#f8eeeb;color:#8b3d32;font-size:.82rem;font-weight:700}.booking-form__error-summary p{margin:0}.booking-form__success{display:grid;gap:4px}.booking-form__success strong,.booking-form__success span{display:block}.contact-page__grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.contact-page__image{height:520px;overflow:hidden;border-radius:var(--radius-lg)}.contact-page__content h2{font-family:var(--font-display);font-size:3.2rem;font-weight:500}.contact-page__item{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--color-line)}.contact-page__item span{color:var(--color-ink-soft);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contact-page__item a,.contact-page__item strong{font-size:1.08rem}.contact-page__notice{margin-top:24px;padding:16px;border-radius:var(--radius-sm);background:var(--color-sage-soft);font-size:.9rem}.contact-page__map-placeholder{min-height:300px;display:grid;align-content:center;justify-items:center;text-align:center;border:1px dashed rgba(36,72,61,.35);border-radius:var(--radius-lg)}.contact-page__map-placeholder h2{font-family:var(--font-display);font-size:2.3rem;font-weight:500}@media(max-width:780px){.contact-page__grid{grid-template-columns:1fr}}.legal-page{max-width:820px}.legal-page h2{margin-top:34px;font-family:var(--font-display);font-size:2rem;font-weight:500}.legal-page p{color:var(--color-ink-soft)}.admin-home{display:grid;place-items:center;min-height:calc(100vh - 68px);padding:40px 20px;background:linear-gradient(180deg,#f0f4f1 0%,var(--color-cream) 100%)}.admin-home__card{width:min(720px,100%);padding:clamp(28px,6vw,58px);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.admin-home__card h1{margin-bottom:16px;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4rem);font-weight:500;color:var(--color-forest-deep)}.admin-home__card p:not(.eyebrow){margin-bottom:26px;color:var(--color-ink-soft)}.admin-home__card a{display:inline-flex;min-height:44px;align-items:center;padding:9px 16px;border-radius:10px;background:var(--color-forest);color:var(--color-white);font-weight:800}.admin-reservations{padding:44px clamp(18px,3vw,48px) 64px;background:#f5f6f3;min-height:calc(100vh - 68px)}.admin-reservations__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;max-width:1600px;margin:0 auto 28px}.admin-reservations__heading h1{margin-bottom:8px;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.35rem);font-weight:500;color:var(--color-forest-deep)}.admin-reservations__heading p:not(.eyebrow){max-width:760px;margin-bottom:0;color:var(--color-ink-soft)}.admin-reservations__summary-card{min-width:132px;padding:16px 20px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-card);text-align:right}.admin-reservations__summary-card strong{display:block;color:var(--color-forest-deep);font-size:1.7rem;line-height:1}.admin-reservations__summary-card span{color:var(--color-ink-soft);font-size:.82rem}.admin-reservations__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1600px;margin:0 auto 18px;padding:18px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-white)}.admin-reservations__search{display:grid;gap:6px;width:min(620px,100%);color:var(--color-forest-deep);font-size:.84rem;font-weight:700}.admin-reservations__search small{color:var(--color-ink-soft);font-size:.72rem;font-weight:500}.admin-reservations__search-control{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border:1px solid rgba(36,72,61,.22);border-radius:12px;background:#fbfcfa;transition:border-color .18s ease,box-shadow .18s ease}.admin-reservations__search-control:focus-within{border-color:var(--color-forest);box-shadow:0 0 0 3px #24483d14}.admin-reservations__search-control span{color:var(--color-forest);font-size:1.3rem}.admin-reservations__search-control input{width:100%;border:0;outline:0;background:transparent;color:var(--color-ink)}.admin-reservations__clear{min-height:42px;padding:8px 15px;border:1px solid rgba(36,72,61,.22);border-radius:10px;background:var(--color-white);color:var(--color-forest-deep);cursor:pointer;font-weight:700}.admin-reservations__clear:disabled{cursor:default;opacity:.45}.admin-reservations__alert{max-width:1600px;margin:0 auto 16px;padding:12px 16px;border:1px solid rgba(151,63,54,.22);border-radius:10px;background:#fff5f3;color:#833c34;font-size:.9rem}.admin-reservations__table-card{max-width:1600px;margin:0 auto;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-card)}.admin-reservations__table-scroll{overflow:auto;overscroll-behavior-inline:contain}.admin-reservations__table{width:100%;min-width:1406px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.78rem}.admin-reservations__table th:nth-child(1),.admin-reservations__table td:nth-child(1){width:155px}.admin-reservations__table th:nth-child(2),.admin-reservations__table td:nth-child(2){width:105px}.admin-reservations__table th:nth-child(3),.admin-reservations__table td:nth-child(3){width:150px}.admin-reservations__table th:nth-child(4),.admin-reservations__table td:nth-child(4){width:105px}.admin-reservations__table th:nth-child(5),.admin-reservations__table td:nth-child(5){width:105px}.admin-reservations__table th:nth-child(6),.admin-reservations__table td:nth-child(6){width:72px}.admin-reservations__table th:nth-child(7),.admin-reservations__table td:nth-child(7){width:62px}.admin-reservations__table th:nth-child(8),.admin-reservations__table td:nth-child(8){width:95px}.admin-reservations__table th:nth-child(9),.admin-reservations__table td:nth-child(9){width:92px}.admin-reservations__table th:nth-child(10),.admin-reservations__table td:nth-child(10){width:90px}.admin-reservations__table th:nth-child(11),.admin-reservations__table td:nth-child(11){width:125px}.admin-reservations__table th:nth-child(12),.admin-reservations__table td:nth-child(12){width:125px}.admin-reservations__table th:nth-child(13),.admin-reservations__table td:nth-child(13){width:125px}.admin-reservations__table th,.admin-reservations__table td{padding:10px 7px;border-right:1px solid rgba(31,39,36,.07);border-bottom:1px solid rgba(31,39,36,.08);vertical-align:middle;white-space:nowrap}.admin-reservations__table th:last-child,.admin-reservations__table td:last-child{border-right:0}.admin-reservations__table thead th{position:sticky;top:0;z-index:2;padding:0;background:#eef2ee;color:var(--color-forest-deep);text-align:left}.admin-reservations__table tbody tr:nth-child(2n){background:#fbfcfa}.admin-reservations__table tbody tr:hover{background:#f2f6f3}.admin-reservations__table tbody tr:last-child td{border-bottom:0}.admin-reservations__sort{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;min-height:45px;padding:8px 7px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:.76rem;font-weight:800;letter-spacing:.01em;text-align:left}.admin-reservations__sort:hover,.admin-reservations__sort--active{background:#e2ebe5}.admin-reservations__sort-icon{color:#718078;font-size:.85rem}.admin-reservations__sort--active .admin-reservations__sort-icon{color:var(--color-forest-deep)}.admin-reservations__filters-row th{position:static;padding:5px 4px;background:#fafbf9}.admin-reservations__filter-input{width:100%;min-width:0;height:30px;padding:4px 5px;border:1px solid rgba(31,39,36,.15);border-radius:7px;outline:0;background:var(--color-white);color:var(--color-ink);font-size:.72rem}.admin-reservations__filter-input:focus{border-color:var(--color-forest);box-shadow:0 0 0 2px #24483d12}.admin-reservations__date-filter{display:grid;grid-template-columns:1fr;gap:3px;min-width:0}.admin-reservations__date-filter .admin-reservations__filter-input{min-width:0}.admin-reservations__search-only{color:#8b948f!important;font-size:.66rem;font-weight:600;text-align:center!important;text-transform:lowercase}.admin-reservations__actions-heading{padding:8px 7px!important}.admin-reservations__guest,.admin-reservations__email,.admin-reservations__notes{overflow:hidden;text-overflow:ellipsis}.admin-reservations__table a{color:var(--color-forest-deep);text-decoration:underline;text-decoration-color:#24483d3d;text-underline-offset:3px}.admin-reservations__number{text-align:center}.admin-reservations__notes{max-width:95px}.admin-reservations__status{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:.7rem;font-weight:800}.admin-reservations__status--pending{background:#fff3cf;color:#805e08}.admin-reservations__status--confirmed{background:#deeee4;color:#21593e}.admin-reservations__status--cancelled{background:#f8e2df;color:#8b3f36}.admin-reservations__status--unknown{background:#eceeed;color:#5a625e}.admin-reservations__row-actions{display:grid;grid-template-columns:1fr;gap:4px}.admin-reservations__action{min-height:27px;padding:4px 6px;border-radius:7px;cursor:pointer;font-size:.7rem;font-weight:800}.admin-reservations__action:disabled{cursor:wait;opacity:.55}.admin-reservations__action--confirm{border:1px solid var(--color-forest);background:var(--color-forest);color:var(--color-white)}.admin-reservations__action--cancel{border:1px solid rgba(139,63,54,.28);background:#fff8f7;color:#8b3f36}.admin-reservations__resolved{color:#858e89;font-size:.72rem}.admin-reservations__state-cell{height:190px;color:var(--color-ink-soft);text-align:center}.admin-reservations__spinner{display:inline-block;width:16px;height:16px;margin-right:8px;border:2px solid rgba(36,72,61,.18);border-top-color:var(--color-forest);border-radius:50%;vertical-align:-3px;animation:admin-reservations-spin .8s linear infinite}@keyframes admin-reservations-spin{to{transform:rotate(360deg)}}.admin-reservations__pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:16px 18px;border-top:1px solid var(--color-line);background:#fbfcfa;color:var(--color-ink-soft);font-size:.78rem}.admin-reservations__pagination-controls{display:flex;align-items:center;gap:5px}.admin-reservations__pagination-controls button{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid rgba(31,39,36,.13);border-radius:8px;background:var(--color-white);color:var(--color-forest-deep);cursor:pointer}.admin-reservations__pagination-controls button.is-active{border-color:var(--color-forest);background:var(--color-forest);color:var(--color-white)}.admin-reservations__pagination-controls button:disabled{cursor:default;opacity:.4}.admin-reservations__page-size{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-reservations__page-size select{height:34px;padding:0 8px;border:1px solid rgba(31,39,36,.14);border-radius:8px;background:var(--color-white);color:var(--color-ink)}@media(max-width:900px){.admin-reservations{padding:28px 16px 48px}.admin-reservations__heading,.admin-reservations__toolbar{align-items:stretch;flex-direction:column}.admin-reservations__summary-card{width:fit-content;text-align:left}.admin-reservations__toolbar{gap:14px}.admin-reservations__clear{align-self:flex-start}.admin-reservations__pagination{grid-template-columns:1fr}.admin-reservations__pagination-controls,.admin-reservations__page-size{justify-content:flex-start}}@media(min-width:1400px){.admin-reservations__table-scroll{overflow-x:hidden}}@media(max-width:1399px){.admin-reservations__table-scroll{overflow-x:auto}}:root{--color-ink: #1f2724;--color-ink-soft: #5e6863;--color-forest: #24483d;--color-forest-deep: #17332b;--color-sage: #dfe9e3;--color-sage-soft: #eef4f0;--color-cream: #fbf8f1;--color-sand: #e8dfd0;--color-white: #ffffff;--color-line: rgba(31, 39, 36, .12);--color-overlay: rgba(14, 31, 26, .44);--shadow-soft: 0 14px 40px rgba(23, 51, 43, .09);--shadow-card: 0 8px 26px rgba(23, 51, 43, .08);--radius-sm: 10px;--radius-md: 18px;--radius-lg: 28px;--radius-pill: 999px;--container: 1180px;--header-height: 76px;--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--color-cream);color:var(--color-ink);font-family:var(--font-body);line-height:1.6}body,button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{padding:88px 0}.section--soft{background:var(--color-sage-soft)}.section--dark{background:var(--color-forest-deep);color:var(--color-white)}.eyebrow{margin-bottom:14px;color:var(--color-forest);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.section--dark .eyebrow{color:#c8dbd1}.display-title{margin-bottom:18px;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4.6rem);font-weight:500}.lead{max-width:760px;color:var(--color-ink-soft);font-size:clamp(1.02rem,2vw,1.18rem)}.section--dark .lead{color:#ffffffc7}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-card)}.card__body{padding:24px}.muted{color:var(--color-ink-soft)}.pill{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--color-sage-soft);color:var(--color-forest-deep);font-size:.84rem;font-weight:700}@media(max-width:900px){.section{padding:68px 0}.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:640px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:54px 0}}
