.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-md) 0;transition:background-color var(--transition-base),padding var(--transition-base),transform var(--transition-base)}.nav--scrolled{background-color:#3a2e2af2;padding:var(--space-sm) 0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nav__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg);display:flex;align-items:center;justify-content:space-between}.nav__logo{display:inline-flex;flex-direction:row;align-items:center;gap:10px;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;color:var(--color-white);text-decoration:none;transition:color var(--transition-fast);white-space:nowrap}.nav__logo-img{width:36px;height:36px;object-fit:contain;opacity:0;filter:brightness(0) invert(1);transition:opacity var(--transition-base);flex-shrink:0}.nav--scrolled .nav__logo{color:var(--color-white)}.nav--scrolled .nav__logo-img{opacity:1}.nav__links{list-style:none;display:flex;gap:var(--space-lg)}.nav__links a{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-white);text-decoration:none;transition:color var(--transition-fast)}.nav--scrolled .nav__links a{color:var(--color-white)}.nav__links a:hover{color:var(--color-primary-light)}.nav__mobile-actions{display:none;align-items:center;gap:var(--space-sm)}.nav__book-btn{background:var(--color-primary);color:var(--color-white);padding:6px 16px;border-radius:4px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-wide);text-decoration:none;box-shadow:0 0 12px #b5872d59;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.nav__book-btn:hover{background:var(--color-white);color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 16px #b5872d66}.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}.nav__toggle span{width:24px;height:2px;background:var(--color-white);transition:background var(--transition-fast)}.nav--scrolled .nav__toggle span{background:var(--color-white)}@media(max-width:768px){.nav__inner{padding:0 var(--space-md)}.nav__mobile-actions{display:flex}.nav__book-item--desktop{display:none}.nav__toggle{display:flex}.nav__links{position:fixed;top:0;right:0;width:70%;height:100vh;flex-direction:column;background:var(--color-bg);padding:var(--space-3xl) var(--space-lg);gap:var(--space-lg);transform:translate(100%);transition:transform var(--transition-base)}.nav__links--open{transform:translate(0)}.nav__links a{color:var(--color-text);font-size:var(--text-base)}.nav--hidden{transform:translateY(-100%)}}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-text)}.hero__bg img{width:100%;height:100%;object-fit:cover}.hero__bg img[data-failed]{display:none}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center 60%,#1e16128c,#1e161240 70%),linear-gradient(to top,rgba(30,22,18,.6) 0%,transparent 40%)}.hero__content{position:relative;text-align:center;color:var(--color-white);padding:0 var(--space-lg);max-width:800px}.hero__logo{width:220px;height:auto;display:block;margin:0 auto var(--space-lg);filter:drop-shadow(0 0 30px rgba(181,135,45,.35)) drop-shadow(0 2px 8px rgba(0,0,0,.3));animation:heroFadeIn 1.2s ease-out both}.hero__tagline{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:400;line-height:1.15;color:var(--color-white);text-shadow:0 2px 20px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3);animation:heroFadeIn 1.2s ease-out .2s both}.hero__sub{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:#ffffffd9;display:flex;align-items:center;justify-content:center;gap:var(--space-md);text-shadow:0 1px 6px rgba(0,0,0,.3);animation:heroFadeIn 1.2s ease-out .4s both}.hero__sub:before,.hero__sub:after{content:"";width:40px;height:1px;background:#fff6;flex-shrink:0}.hero__cta{display:inline-block;margin-top:var(--space-xl);padding:14px 32px;background:var(--color-primary);color:var(--color-white);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-wide);text-decoration:none;border:1px solid rgba(255,255,255,.15);transition:background var(--transition-fast),transform var(--transition-fast);animation:heroFadeIn 1.2s ease-out .6s both}.hero__cta:hover{background:var(--color-primary-light);transform:translateY(-1px)}.hero__badge{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:4px;animation:badgeFadeIn 1.2s ease-out 1s both}@keyframes badgeFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.hero__badge-icon{font-size:.85rem;color:var(--color-primary-light);line-height:1;opacity:.8}.hero__badge-text{display:flex;flex-direction:column;gap:0}.hero__badge-text strong{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:#ffffffb3;letter-spacing:.01em}.hero__badge-text span{font-family:var(--font-sans);font-size:.65rem;color:#ffffff73}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero{min-height:100svh}.hero__bg img{object-position:15% center}.hero__content{padding:0 var(--space-md)}.hero__logo{width:160px;margin-bottom:var(--space-md)}.hero__tagline{font-size:var(--text-3xl)}.hero__sub{font-size:var(--text-xs);gap:var(--space-sm)}.hero__sub:before,.hero__sub:after{width:24px}.hero__cta{margin-top:var(--space-lg);padding:12px 28px;font-size:var(--text-xs)}.hero__badge{padding:10px 16px;gap:10px}.hero__badge-text strong{font-size:var(--text-xs)}.hero__badge-text span{font-size:.65rem}}@media(max-width:380px){.hero__logo{width:130px}.hero__tagline{font-size:1.75rem}}.space{padding:var(--space-section) 0}.space__headline{margin-top:var(--space-sm);margin-bottom:var(--space-md)}.space__hero-statement{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text);line-height:1.6;max-width:var(--max-width-narrow);margin-bottom:var(--space-xl)}.space__details{display:flex;gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-wrap:wrap}.space__detail{display:flex;flex-direction:column;gap:var(--space-xs)}.space__detail-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-primary);font-weight:600}.space__detail-value{font-family:var(--font-serif);font-size:var(--text-lg)}.vignette--hero{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-xl);align-items:center;margin-bottom:var(--space-xl)}.vignette__image--hero{aspect-ratio:16 / 10}.vignette__text--hero .vignette__title{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.space__vignettes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.vignette__image{width:100%;aspect-ratio:3 / 2;background:var(--color-bg-dark);overflow:hidden;margin-bottom:var(--space-md)}.vignette__image img{width:100%;height:100%;object-fit:cover}.vignette__image img[data-failed]{display:none}.vignette__title{font-family:var(--font-serif);font-size:var(--text-xl);margin-bottom:var(--space-xs)}.vignette__body{color:var(--color-text-muted);line-height:1.8;font-size:var(--text-base)}@media(max-width:768px){.vignette--hero,.space__vignettes{grid-template-columns:1fr}.space__details{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md) var(--space-lg)}.space__hero-statement{font-size:var(--text-lg)}}.amenities{padding:var(--space-2xl) 0 var(--space-section);background:var(--color-bg-dark)}.amenities__headline{margin-top:var(--space-sm);margin-bottom:var(--space-2xl)}.amenities__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-lg)}.amenities__category{background:var(--color-bg);border-radius:8px;padding:var(--space-lg)}.amenities__category-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.amenities__category-title{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text)}.amenities__category-desc{color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-md);font-size:var(--text-sm)}.amenities__tags{list-style:none;padding-top:var(--space-sm);margin:0;border-top:1px solid rgba(0,0,0,.06)}.amenities__tags li{color:var(--color-text-muted);font-size:var(--text-xs);line-height:2}.amenities__expand{background:none;border:none;padding:0;margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);letter-spacing:var(--tracking-wide)}.amenities__expand:hover{text-decoration:underline}.amenities__tag--overflow{display:list-item}.amenities__expand{display:none}@media(max-width:768px){.amenities__grid{grid-template-columns:1fr;gap:var(--space-md)}.amenities__tag--overflow{display:none}.amenities__tags--expanded .amenities__tag--overflow{display:list-item}.amenities__expand{display:inline}}.commons{padding:0 0 var(--space-section);background-color:var(--color-bg-dark)}.commons__image-full{width:100%;margin-bottom:var(--space-2xl);background:var(--color-text);min-height:300px}.commons__image-full img{width:100%;height:500px;object-fit:cover}.commons__headline{margin-top:var(--space-sm);margin-bottom:var(--space-lg)}.commons__body{max-width:var(--max-width-narrow);color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--space-2xl)}.commons__timeline{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-2xl);max-width:var(--max-width-narrow);border-left:1px solid var(--color-primary);padding-left:var(--space-lg)}.commons__timeline-item{display:flex;flex-direction:column;gap:4px}.commons__timeline-year{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-primary)}.commons__timeline-text{color:var(--color-text);line-height:1.6}.commons__village{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-lg)}.commons__village-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-primary);margin-bottom:var(--space-md)}.commons__place{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-xs) 0;border-bottom:1px solid rgba(0,0,0,.06)}.commons__place-name{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text)}.commons__place-type{font-size:var(--text-sm);color:var(--color-text-muted)}.commons__also{color:var(--color-text-muted);line-height:1.7;max-width:var(--max-width-narrow)}@media(max-width:768px){.commons__village{grid-template-columns:1fr}.commons__image-full img{height:300px}}.location{padding:var(--space-section) 0}.location__headline{margin-top:var(--space-sm);margin-bottom:var(--space-lg)}.location__body{max-width:var(--max-width-narrow);color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--space-2xl)}.location__distances{max-width:var(--max-width-narrow);display:flex;flex-direction:column;gap:var(--space-md)}.location__distance{display:flex;flex-direction:column;gap:4px}.location__distance-row{display:flex;align-items:baseline;gap:var(--space-sm)}.location__place{font-family:var(--font-serif);font-size:var(--text-lg);white-space:nowrap}.location__line{flex:1;border-bottom:1px dotted var(--color-text-muted);margin-bottom:4px}.location__time{font-size:var(--text-sm);color:var(--color-primary);font-weight:500;white-space:nowrap}.location__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5;padding-left:0}.location__map{max-width:var(--max-width-narrow);margin-top:var(--space-2xl);border-radius:8px;overflow:hidden}.location__map iframe{display:block;border-radius:8px}.location__seasons{max-width:var(--max-width-narrow);margin-top:var(--space-2xl)}.location__seasons-heading{font-family:var(--font-serif);font-size:var(--text-xl);margin-bottom:var(--space-lg)}.location__seasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.location__season-name{display:block;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-primary);margin-bottom:var(--space-xs)}.location__season-highlights{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}@media(max-width:480px){.location__distance-row{flex-wrap:wrap}.location__line{display:none}.location__seasons-grid{grid-template-columns:1fr}}.proof{padding:var(--space-section) 0;background:var(--color-bg);position:relative;overflow:hidden}.proof:before{content:"“";position:absolute;top:-.15em;left:50%;transform:translate(-50%);font-family:var(--font-serif);font-size:28rem;line-height:1;color:var(--color-primary);opacity:.04;pointer-events:none}.proof__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.proof__rating{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.proof__stars{display:flex;gap:4px;color:var(--color-primary);font-size:var(--text-lg);letter-spacing:2px}.proof__score{font-family:var(--font-serif);font-size:var(--text-5xl);color:var(--color-text);line-height:1}.proof__badge{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-primary);border:1px solid var(--color-primary);padding:4px 12px;border-radius:2px}.proof__count{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;border-bottom:1px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.proof__count:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.proof__carousel{width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%)}.proof__track{display:flex;gap:3.5rem;animation:carouselScroll 120s linear infinite;width:max-content;--scroll-width: 50%}.proof__track:hover{animation-play-state:paused}.proof__quote{flex:0 0 440px;margin:0;padding:var(--space-xl) var(--space-lg);position:relative;border-left:2px solid rgba(181,135,45,.15)}.proof__quote p{font-family:var(--font-serif);font-size:var(--text-base);font-style:italic;color:var(--color-text);line-height:1.7;margin-bottom:var(--space-md)}.proof__quote cite{font-style:normal;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.proof__date{font-weight:400;text-transform:none;letter-spacing:normal}@keyframes carouselScroll{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--scroll-width)))}}@media(max-width:768px){.proof:before{font-size:16rem}.proof__quote{flex:0 0 320px;padding:var(--space-lg) var(--space-md)}.proof__track{gap:2.5rem;animation-duration:90s}}.booking-form{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.booking-form fieldset{min-inline-size:0}.booking-form__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-white);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);overflow-y:auto;animation:overlayFadeIn .4s ease-out both}.booking-form__overlay-close{position:fixed;top:var(--space-md);right:var(--space-md);z-index:1001;background:none;border:none;font-size:28px;color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);line-height:1}.booking-form__overlay-close:hover{color:var(--color-text)}.booking-form__overlay-content{max-width:440px;width:100%;text-align:center;padding:var(--space-xl) 0}.booking-form__overlay-check{width:56px;height:56px;border-radius:50%;background:#27713a1a;color:#27713a;font-size:28px;line-height:56px;margin:0 auto var(--space-lg)}.booking-form__overlay-heading{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-text);margin-bottom:var(--space-sm)}.booking-form__overlay-message{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-lg)}.booking-form__overlay-steps{text-align:left;background:var(--color-bg-dark);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.booking-form__overlay-steps-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.booking-form__overlay-steps ol{padding-left:var(--space-lg);margin:0}.booking-form__overlay-steps li{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-xs)}.booking-form__overlay-steps li:last-child{margin-bottom:0}.booking-form__overlay-note{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-lg);font-style:italic}.booking-form__overlay-contact{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}.booking-form__overlay-contact a{color:var(--color-primary);text-decoration:none;font-weight:500}.booking-form__overlay-contact a:hover{text-decoration:underline}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlaySlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.booking-form__field{display:flex;flex-direction:column;gap:var(--space-xs)}.booking-form__field label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600;color:var(--color-text)}.booking-form__optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-muted)}.booking-form__field input,.booking-form__field select,.booking-form__field textarea{padding:var(--space-sm);border:1px solid rgba(0,0,0,.12);background:var(--color-white);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);transition:border-color var(--transition-fast);box-sizing:border-box;width:100%;max-width:100%}.booking-form__field input:focus,.booking-form__field select:focus,.booking-form__field textarea:focus{outline:none;border-color:var(--color-primary)}.booking-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.booking-form__dates-row{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-sm) 0;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}.booking-form__date-display{display:flex;flex-direction:column;gap:2px}.booking-form__date-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.booking-form__date-value{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.booking-form__edit-dates{margin-left:auto;font-size:var(--text-xs);color:var(--color-primary);text-decoration:none;white-space:nowrap}.booking-form__edit-dates:hover{text-decoration:underline}.booking-form__options{margin-top:var(--space-sm)}.booking-form__option{text-align:center}.booking-form__submit{width:100%;padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-white);border:none;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);transition:background var(--transition-fast);box-sizing:border-box}.booking-form__submit:hover{background:var(--color-primary-light)}.booking-form__submit:disabled{opacity:.6;cursor:not-allowed}.booking-form__airbnb{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:var(--space-sm) var(--space-lg);background:#ff5a5f;color:var(--color-white);border:none;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);text-align:center;text-decoration:none;transition:background var(--transition-fast);box-sizing:border-box}.booking-form__airbnb:hover{background:#e04e53;color:var(--color-white)}.booking-form__airbnb svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}.booking-form__option-note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-xs);line-height:1.4}.booking-form__option-divider{text-align:center;margin:var(--space-md) 0;position:relative}.booking-form__option-divider:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px solid rgba(0,0,0,.08)}.booking-form__option-divider span{position:relative;background:var(--color-white);padding:0 var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted);text-transform:lowercase}.booking-form__cancellation{padding:var(--space-md);background:var(--color-bg-dark);margin-top:var(--space-xs)}.booking-form__cancellation-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.booking-form__cancellation-tier{margin-bottom:var(--space-sm)}.booking-form__cancellation-tier:last-child{margin-bottom:0}.booking-form__cancellation-tier p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.booking-form__cancellation-badge{display:inline-block;font-size:var(--text-xs);font-weight:600;padding:2px 8px;margin-bottom:4px}.booking-form__cancellation-badge--full{color:#27713a;background:#27713a1a}.booking-form__cancellation-badge--partial{color:#8a6d1b;background:#8a6d1b1a}.booking-form__how-link{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-primary);cursor:pointer;text-decoration:underline;text-decoration-color:#b5872d66;text-underline-offset:2px}.booking-form__how-link:hover{text-decoration-color:var(--color-primary)}.booking-form__how-details{text-align:left;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;margin-top:var(--space-sm);padding:var(--space-md);background:var(--color-bg-dark)}.booking-form__how-details p{margin-bottom:var(--space-sm)}.booking-form__how-details p:last-child{margin-bottom:0}.booking-form__how-details ol{margin:var(--space-sm) 0;padding-left:var(--space-lg)}.booking-form__how-details li{margin-bottom:var(--space-xs)}.booking-form__contact{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-sm)}.booking-form__contact a{color:var(--color-primary);text-decoration:none}.booking-form__contact a:hover{text-decoration:underline}.booking-form__error{color:#c0392b;font-size:var(--text-sm);text-align:center}.price-summary{padding:0}.price-summary__dates{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.price-summary__date-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin-bottom:2px}.price-summary__date-value{font-size:var(--text-base);color:var(--color-text);font-weight:500}.price-summary__arrow{color:var(--color-primary);font-size:var(--text-lg)}.price-summary__nights{border-top:1px solid rgba(0,0,0,.06);padding-top:var(--space-sm)}.price-summary__night-row{display:flex;justify-content:space-between;padding:4px 0;font-size:var(--text-sm);color:var(--color-text-muted)}.price-summary__subtotal-row{display:flex;justify-content:space-between;padding:4px 0;font-size:var(--text-sm);color:var(--color-text-muted);border-top:1px solid rgba(0,0,0,.06);margin-top:var(--space-xs);padding-top:var(--space-xs)}.price-summary__total-row{display:flex;justify-content:space-between;padding:var(--space-sm) 0;font-size:var(--text-lg);font-weight:600;color:var(--color-text);border-top:2px solid var(--color-text);margin-top:var(--space-xs)}.price-summary__note{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-sm);line-height:1.5}.price-summary__minimum-warning{font-size:var(--text-sm);color:var(--color-primary);text-align:center;padding:var(--space-md) 0}.availability{padding:var(--space-section) 0;background:var(--color-bg-dark)}.availability__headline{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.availability__body{color:var(--color-text-muted);margin-bottom:var(--space-sm)}.availability__pet-notice{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-sm)}.availability__contact{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.availability__contact a{color:var(--color-primary);text-decoration:none}.availability__contact a:hover{text-decoration:underline}.availability__airbnb-link{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2xl)}.availability__airbnb-link a{color:#ff5a5f;font-weight:500;text-decoration:none}.availability__airbnb-link a:hover{text-decoration:underline}.availability__layout{display:flex;flex-direction:column;max-width:720px;margin:0 auto}.availability__calendar{background:var(--color-white);padding:var(--space-lg);border:1px solid rgba(0,0,0,.06)}.calendar__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.calendar__nav button{background:none;border:none;font-size:var(--text-lg);color:var(--color-text);padding:var(--space-xs);transition:color var(--transition-fast)}.calendar__nav button:hover{color:var(--color-primary)}.calendar__month{font-family:var(--font-serif);font-size:var(--text-lg)}.calendar__header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px}.calendar__day{padding:6px 2px;font-size:var(--text-sm);border:none;background:none;font-family:var(--font-sans);transition:background var(--transition-fast),color var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:1px;min-height:44px;justify-content:center}.calendar__day-number{line-height:1}.calendar__day-price{font-size:10px;color:var(--color-text-muted);line-height:1}.calendar__day--available{color:var(--color-text);cursor:pointer}.calendar__day--available:hover{background:var(--color-bg-dark)}.calendar__day--booked{color:var(--color-text-muted);text-decoration:line-through;opacity:.4;cursor:not-allowed}.calendar__day--past,.calendar__day--unavailable{color:var(--color-text-muted);opacity:.3;cursor:not-allowed}.calendar__day--selected{background:var(--color-primary);color:var(--color-white)}.calendar__day--selected .calendar__day-price{color:#fffc}.calendar__day--selected:hover{background:var(--color-primary-light)}.calendar__day--in-range{background:#b5872d1f}.calendar__day--empty{visibility:hidden}.calendar__legend{display:flex;gap:var(--space-lg);margin-top:var(--space-md);font-size:var(--text-sm);color:var(--color-text-muted)}.calendar__legend-item{display:flex;align-items:center;gap:var(--space-xs)}.calendar__dot{width:8px;height:8px;border-radius:50%}.calendar__dot--available{background:var(--color-accent)}.calendar__dot--booked{background:var(--color-text-muted);opacity:.5}.availability__booking-card{background:var(--color-white);border:1px solid rgba(0,0,0,.06);padding:var(--space-lg);margin-top:var(--space-md)}.availability__booking-card-divider{border-top:1px solid rgba(0,0,0,.08);margin:var(--space-lg) 0}.availability__prompt{margin-top:var(--space-lg);padding:var(--space-xl) var(--space-lg);border:1px dashed rgba(0,0,0,.15);text-align:center}.availability__prompt-text{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.5}@media(max-width:600px){.availability__calendar,.availability__booking-card,.availability__prompt{margin-left:calc(-1 * var(--space-lg));margin-right:calc(-1 * var(--space-lg));border-left:none;border-right:none}}.faq{padding:var(--space-section) 0}.faq__list{margin-top:var(--space-lg)}.faq__item{border-bottom:1px solid rgba(0,0,0,.08)}.faq__question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;background:none;border:none;font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text);text-align:left;transition:color var(--transition-fast)}.faq__question:hover{color:var(--color-primary)}.faq__icon{font-size:var(--text-xl);color:var(--color-primary);flex-shrink:0;margin-left:var(--space-md)}.faq__answer{padding:0 0 var(--space-md);color:var(--color-text-muted);line-height:1.8}.footer{background:var(--color-text);color:var(--color-bg);padding:var(--space-2xl) 0 var(--space-lg)}.footer__inner{max-width:var(--max-width-narrow);margin:0 auto;padding:0 var(--space-lg)}.footer__brand{margin-bottom:var(--space-lg)}.footer__tagline{font-family:var(--font-serif);font-size:var(--text-3xl);font-style:italic;font-weight:400;line-height:1.2;color:var(--color-bg);margin-bottom:var(--space-sm)}.footer__host{font-size:var(--text-sm);color:#faf6f080;letter-spacing:var(--tracking-wide)}.footer__address{font-size:var(--text-sm);color:#faf6f066;margin-top:4px}.footer__rule{width:48px;height:1px;background:var(--color-primary);margin-bottom:var(--space-lg)}.footer__details{display:flex;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer__col{display:flex;flex-direction:column;gap:6px}.footer__col-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-primary);font-weight:600;margin-bottom:2px}.footer__col a{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:#faf6f0b3;text-decoration:none;transition:color var(--transition-fast)}.footer__col a:hover{color:var(--color-primary-light)}.footer__col a svg{width:16px;height:16px;flex-shrink:0;opacity:.5;transition:opacity var(--transition-fast)}.footer__col a:hover svg{opacity:1}.footer__copyright{font-size:var(--text-xs);color:#faf6f04d;border-top:1px solid rgba(250,246,240,.08);padding-top:var(--space-sm)}@media(max-width:480px){.footer{padding:var(--space-xl) 0 var(--space-md)}.footer__inner{padding:0 var(--space-md)}.footer__tagline{font-size:var(--text-2xl)}.footer__details{gap:var(--space-xl)}}.book-page{min-height:100vh;display:flex;flex-direction:column}.book-page__header{text-align:center;padding:var(--space-xl) var(--space-lg) 0;max-width:var(--max-width-narrow);margin:0 auto}.book-page__logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-text);margin-bottom:var(--space-md)}.book-page__logo img{height:32px;width:auto}.book-page__logo span{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500}.book-page__headline{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:500;margin-bottom:var(--space-xs)}.book-page__sub{color:var(--color-text-muted);font-size:var(--text-base);margin-bottom:var(--space-sm)}.book-page__trust{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.book-page__stars{color:var(--color-primary);letter-spacing:.1em}.book-page__badge{background:var(--color-bg-dark);padding:.2rem .6rem;border-radius:3px;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.book-page__see-space{display:inline-block;font-size:var(--text-sm);color:var(--color-primary);margin-top:var(--space-sm)}.book-page__content{flex:1}@media(max-width:768px){.book-page__header{padding:var(--space-lg) var(--space-md) 0}}:root{--color-primary: #B5872D;--color-primary-light: #D4A94B;--color-bg: #FAF6F0;--color-bg-dark: #F0EBE3;--color-text: #3A2E2A;--color-text-muted: #7A6E68;--color-accent: #6B7F5E;--color-white: #FFFFFF;--color-overlay: rgba(58, 46, 42, .4);--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 3.5rem;--text-5xl: 4.5rem;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 8rem;--space-section: 10rem;--max-width: 1200px;--max-width-narrow: 800px;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--tracking-wide: .1em;--tracking-wider: .2em}@media(max-width:768px){:root{--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--space-section: 5rem}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.7;color:var(--color-text);background-color:var(--color-bg);overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:1.2}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}img{max-width:100%;height:auto;display:block}img[data-failed]{display:none}button{cursor:pointer;font-family:inherit}.section-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-primary)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.container--narrow{max-width:var(--max-width-narrow);margin:0 auto;padding:0 var(--space-lg)}section{padding:var(--space-section) 0}@media(max-width:768px){.container,.container--narrow{padding:0 var(--space-md)}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.fade-in.visible{opacity:1;transform:translateY(0)}
