:root{--color-navy: #0d3b66;--color-cream: #fef9ef;--color-surface: #ffffff;--color-orange: #c24a04;--color-orange-hover: #a33e03;--color-gold: #f7b538;--color-text: #17202a;--color-text-muted: #5b6470;--color-text-on-dark-muted: #c8d3de;--color-navy-tint: #e3eaf1;--color-border: #e8dfcf;--color-border-input: #7a848e;--color-disabled: #9aa3ad;--color-error: #b3261e;--color-success: #2e6b3a;--color-overlay: rgba(13, 23, 33, .9);--color-scrim: rgba(13, 59, 102, .8);--color-sand: #ead7b0;--color-sand-light: #f3e6c8;--color-sun-glow: rgba(247, 181, 56, .2);--color-bottle-glass: rgba(46, 107, 58, .55);--color-cork: #a0703c;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-h1: clamp(2rem, 1.6rem + 1.6vw, 2.5rem);--text-h2: clamp(1.5rem, 1.35rem + .6vw, 1.75rem);--text-h3: 1.25rem;--text-lead: 1.125rem;--text-body: 1rem;--text-small: .875rem;--leading-heading: 1.2;--leading-body: 1.6;--leading-small: 1.5;--radius-sm: 4px;--radius-md: 8px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(13, 59, 102, .06), 0 4px 12px rgba(13, 59, 102, .08);--shadow-overlay: 0 12px 32px rgba(13, 59, 102, .18);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--content-max: 1200px;--gutter: var(--space-4);--header-height: 56px;--section-gap: var(--space-8);--transition: .15s ease;--focus-ring: 2px solid var(--color-navy);--icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 4 4-4' fill='none' stroke='%230D3B66' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media(min-width:768px){:root{--gutter: var(--space-6);--header-height: 64px;--section-gap: var(--space-12)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text);background:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2{font-family:var(--font-display);font-weight:600}h1,h2,h3,h4,h5,h6{line-height:var(--leading-heading);color:var(--color-navy)}a{color:var(--color-text);transition:color var(--transition)}a:hover{color:var(--color-navy)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-6);border:2px solid transparent;border-radius:var(--radius-md);font-size:var(--text-body);font-weight:600;line-height:var(--leading-small);text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.btn:focus-visible,.btn--link:focus-visible,.chip:focus-visible{outline:var(--focus-ring);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}.btn--primary,.btn--primary:hover{background-color:var(--color-orange);color:var(--color-surface)}.btn--primary:hover:not(:disabled){background-color:var(--color-orange-hover)}.btn--secondary,.btn--secondary:hover{background-color:transparent;border-color:var(--color-navy);color:var(--color-navy)}.btn--secondary:hover:not(:disabled){background-color:var(--color-navy-tint)}.btn--link{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;color:var(--color-navy);font-size:var(--text-body);font-weight:600;text-decoration:underline;cursor:pointer}.btn--link:hover{color:var(--color-navy);text-decoration-thickness:2px}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-pill);background-color:var(--color-surface);color:var(--color-navy);font-size:var(--text-small);font-weight:600;line-height:var(--leading-small)}button.chip{min-height:44px;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}button.chip:hover{border-color:var(--color-navy)}.chip.is-active{background-color:var(--color-navy);border-color:var(--color-navy);color:var(--color-cream)}.field-input,form input:not([type=checkbox],[type=radio],[type=hidden]),form textarea,form select{min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);font-size:var(--text-body);line-height:var(--leading-small);transition:border-color var(--transition)}.field-input:focus-visible,form input:focus-visible,form textarea:focus-visible,form select:focus-visible{outline:var(--focus-ring);outline-offset:0}.field-input.error,.field-input[aria-invalid=true],form :is(input,textarea,select).error,form :is(input,textarea,select)[aria-invalid=true]{border-color:var(--color-error)}.field-input:disabled,form :is(input,textarea,select):disabled{background-color:var(--color-cream);color:var(--color-disabled);cursor:not-allowed}select.field-input,form select{appearance:none;padding-right:var(--space-8);background-image:var(--icon-chevron-down);background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.field-label,form label{font-size:var(--text-small);font-weight:600;line-height:var(--leading-small);color:var(--color-text)}.mobile-menu-overlay{position:fixed;inset:0;background-color:var(--color-overlay);opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition);z-index:998}.mobile-menu-overlay.active{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:0;right:-100%;width:80%;max-width:300px;height:100vh;background-color:var(--color-cream);border-left:1px solid var(--color-border);overflow-y:auto;visibility:hidden;transition:right var(--transition),visibility var(--transition);z-index:999}.mobile-menu.active{right:0;visibility:visible;box-shadow:var(--shadow-overlay)}.mobile-nav{padding:var(--space-8) 0}.mobile-nav-list{list-style:none;margin:0;padding:0}.mobile-nav-list li{border-bottom:1px solid var(--color-border)}.mobile-nav-link{display:block;padding:var(--space-4) var(--space-8);border-left:4px solid transparent;color:var(--color-navy);font-size:var(--text-body);font-weight:600;text-decoration:none;transition:background-color var(--transition)}.mobile-nav-link:hover{color:var(--color-navy);background-color:var(--color-navy-tint)}.mobile-nav-link.active{color:var(--color-navy);background-color:var(--color-navy-tint);border-left-color:var(--color-navy)}.mobile-nav-link:focus-visible{outline:var(--focus-ring);outline-offset:-2px}@media(min-width:769px){.mobile-menu,.mobile-menu-overlay{display:none}}.header{position:sticky;top:0;z-index:100;background-color:var(--color-cream);border-bottom:1px solid var(--color-border)}.header-container{max-width:var(--content-max);height:var(--header-height);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.logo{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-navy);text-decoration:none}.logo:hover{color:var(--color-navy)}.logo:focus-visible{outline:var(--focus-ring);outline-offset:2px}.logo picture{display:flex}.logo-mark{display:block;height:48px;width:auto}.logo-name{font-family:var(--font-display);font-size:var(--text-h3);font-weight:600;line-height:var(--leading-heading);color:var(--color-navy);white-space:nowrap}.desktop-nav{display:none}.nav-list{list-style:none;display:flex;gap:var(--space-6);margin:0;padding:0}.nav-link{display:inline-block;color:var(--color-navy);font-size:var(--text-body);font-weight:600;text-decoration:none;padding-block:var(--space-1);border-bottom:2px solid transparent;transition:border-color var(--transition)}.nav-link:hover{color:var(--color-navy);border-bottom-color:var(--color-border-input)}.nav-link.active{color:var(--color-navy);border-bottom-color:var(--color-navy)}.nav-link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid var(--color-border-input);border-radius:50%;background:transparent;color:var(--color-navy);font-size:1.25em;cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.mobile-menu-toggle:hover{background-color:var(--color-navy-tint);border-color:var(--color-navy)}.mobile-menu-toggle:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media(min-width:769px){.desktop-nav{display:block}.mobile-menu-toggle{display:none}}@media(max-width:767px){.logo-mark{height:40px}}.footer{background-color:var(--color-navy);color:var(--color-cream);margin-top:auto}.footer-container{max-width:var(--content-max);margin:0 auto;padding:var(--space-12) var(--gutter) var(--space-8);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-8)}.footer-section h3{margin:0 0 var(--space-4);font-family:var(--font-body);font-size:var(--text-body);font-weight:600;line-height:var(--leading-body);color:var(--color-cream)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:var(--space-2)}.footer-links a{color:var(--color-cream);text-decoration:none}.footer-links a:hover{color:var(--color-cream);text-decoration:underline}.footer-links a:focus-visible,.social-links a:focus-visible{outline:2px solid var(--color-cream);outline-offset:2px}.social-links{display:flex;gap:var(--space-4)}.social-links a{display:inline-flex;color:var(--color-cream);font-size:1.5rem}.social-links a:hover{color:var(--color-cream)}.footer-bottom{max-width:var(--content-max);margin:0 auto;border-top:1px solid var(--color-text-on-dark-muted);padding:var(--space-6) var(--gutter);text-align:center}.footer-bottom p{margin:0;color:var(--color-text-on-dark-muted);font-size:var(--text-small)}@media(max-width:767px){.footer-container{padding:var(--space-8) var(--gutter) var(--space-4);grid-template-columns:1fr;gap:var(--space-6)}.footer-bottom{padding:var(--space-4) var(--gutter)}}.layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-cream);color:var(--color-text);overflow-x:clip}.main-content{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--gutter) var(--space-16);background-color:transparent}.hero-image{width:100vw;margin-inline:calc(50% - 50vw);margin-top:calc(-1 * var(--space-8))}.hero-image img{display:block;width:100%;height:min(56vw,360px);object-fit:cover;object-position:center 60%}.hero-content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);max-width:720px;margin-top:var(--space-8)}.hero-title{font-size:var(--text-h1);margin:0;color:var(--color-navy)}.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:0;font-size:var(--text-body);color:var(--color-text)}.location{font-weight:600;color:var(--color-navy)}.rating{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600}.star-icon,.guest-favorite__star{color:var(--color-gold)}.hero-capacity{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;font-size:var(--text-small);color:var(--color-text-muted)}.separator{color:var(--color-text-muted)}.hero-badges{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero-actions{display:flex;flex-direction:column;gap:var(--space-4);width:100%;margin-top:var(--space-2)}.hero-actions .btn{width:100%}.hero-booking-note{margin:0;font-size:var(--text-small);color:var(--color-text-muted)}.hero-booking-note a{color:var(--color-navy);font-weight:600}@media(min-width:600px){.hero-actions{flex-direction:row;width:auto}.hero-actions .btn{width:auto}}@media(min-width:768px){.hero-image img{height:min(70vh,560px)}}.property-highlights{margin-block:var(--section-gap);padding-block:var(--section-gap);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.property-highlights h2{font-size:var(--text-h2);margin:0 0 var(--space-6) 0;color:var(--color-navy)}.highlights-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}.highlight-card{display:flex;flex-direction:column;gap:var(--space-3)}.highlight-icon{font-size:1.5rem;line-height:1;color:var(--color-navy);flex-shrink:0}.highlight-content h3{font-size:var(--text-h3);margin:0 0 var(--space-2) 0;color:var(--color-navy)}.highlight-content p{margin:0;color:var(--color-text-muted);font-size:var(--text-body);line-height:var(--leading-body)}@media(min-width:768px){.highlights-grid{grid-template-columns:repeat(3,1fr)}}.property-description h2{font-size:var(--text-h2);margin:0 0 var(--space-6) 0;color:var(--color-navy)}.description-content{max-width:65ch}.description-text{color:var(--color-text);font-size:var(--text-body);line-height:var(--leading-body);white-space:pre-wrap;margin:0 0 var(--space-4) 0}@media(prefers-reduced-motion:no-preference){.page{animation:fadeIn .5s ease-in}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quick-links{margin-top:var(--section-gap)}.quick-links h2{font-size:var(--text-h2);margin:0 0 var(--space-6) 0;color:var(--color-navy)}.quick-links-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.quick-link-card{display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--transition);box-shadow:var(--shadow-card)}.quick-link-card:hover{border-color:var(--color-navy)}.quick-link-card:focus-visible{outline:var(--focus-ring);outline-offset:2px}.quick-link-card__image{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;background-color:var(--color-navy-tint)}.quick-link-card__body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4)}.quick-link-card h3{margin:0;color:var(--color-navy);font-size:var(--text-h3)}.quick-link-card p{margin:0;color:var(--color-text-muted);font-size:var(--text-small)}@media(min-width:600px){.quick-links-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.quick-links-grid{grid-template-columns:repeat(4,1fr)}}.page-header{margin-bottom:var(--space-8);text-align:left}.page-header h1{margin:0;font-size:var(--text-h1);color:var(--color-navy)}.page-header__subtitle{max-width:60ch;margin:var(--space-2) 0 0;font-size:var(--text-lead);line-height:var(--leading-body);color:var(--color-text-muted)}.gallery-page__filters{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-8)}.gallery-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.gallery-card{padding:0;display:block;width:100%;text-align:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4 / 3;position:relative;box-shadow:var(--shadow-card);background:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--transition)}.gallery-card:hover{border-color:var(--color-navy)}.gallery-card:focus-visible{outline:var(--focus-ring);outline-offset:2px}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block}.gallery-card__caption{position:absolute;bottom:0;left:0;right:0;background:var(--color-scrim);color:var(--color-cream);padding:var(--space-2) var(--space-3);font-size:var(--text-small);line-height:var(--leading-small);opacity:0;transition:opacity var(--transition)}.gallery-card:hover .gallery-card__caption,.gallery-card:focus-within .gallery-card__caption{opacity:1}.gallery-lightbox{width:100%;height:100%;max-width:100%;max-height:100%;margin:0;border:0;padding:var(--space-4);background:var(--color-overlay)}.gallery-lightbox[open]{display:flex;flex-direction:column;align-items:center}@media(min-width:768px){.gallery-lightbox{padding-inline:calc(48px + var(--space-8))}}.gallery-lightbox::backdrop{background:transparent}html:has(.gallery-lightbox[open]){overflow:hidden;scrollbar-gutter:stable}.gallery-lightbox__close{position:absolute;z-index:1;top:var(--space-4);right:var(--space-4);display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-surface);border:none;border-radius:50%;color:var(--color-navy);font-size:var(--text-h3);line-height:1;cursor:pointer;box-shadow:var(--shadow-overlay)}.gallery-lightbox__close:focus-visible{outline:2px solid var(--color-cream);outline-offset:2px}.gallery-lightbox__nav{position:absolute;z-index:1;top:0;bottom:0;margin-block:auto;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:var(--color-surface);border:none;border-radius:50%;color:var(--color-navy);cursor:pointer;box-shadow:var(--shadow-overlay)}.gallery-lightbox__nav svg{font-size:1.25em}.gallery-lightbox__nav--prev{left:var(--space-4)}.gallery-lightbox__nav--next{right:var(--space-4)}.gallery-lightbox__nav:focus-visible{outline:2px solid var(--color-cream);outline-offset:2px}.gallery-lightbox__nav[aria-disabled=true]{opacity:.6;cursor:not-allowed}.gallery-lightbox__stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}.gallery-lightbox__counter{margin:var(--space-2) 0 0;color:var(--color-cream);font-size:var(--text-body);font-weight:600;line-height:var(--leading-body);font-variant-numeric:tabular-nums;text-align:center}.gallery-lightbox__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);border:0;transition:none}@media(prefers-reduced-motion:no-preference){.gallery-lightbox__image{transition:transform var(--transition)}.gallery-lightbox__stage[data-dragging] .gallery-lightbox__image{transform:translate(var(--drag-x, 0));transition:none}}.amenities-container{display:flex;flex-direction:column;gap:var(--section-gap)}.category-title{font-size:var(--text-h2);color:var(--color-navy);margin-bottom:var(--space-4)}.amenity-list{list-style:none;margin:0;padding:0;columns:1;column-gap:var(--space-8)}.amenity-list li{break-inside:avoid;display:flex;gap:var(--space-2);padding-block:var(--space-2);color:var(--color-text)}.amenity-list svg{flex-shrink:0;font-size:1em;color:var(--color-navy);margin-top:calc((var(--leading-body) * 1em - 1em) / 2)}@media(min-width:600px){.amenity-list{columns:2}}@media(min-width:1024px){.amenity-list{columns:3}}.approximate-map{width:100%}.approximate-map__canvas{width:100%;height:360px;background:var(--color-navy-tint);border-radius:var(--radius-md);overflow:hidden}.location-section{margin-bottom:var(--section-gap)}.location-badge{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lead);color:var(--color-text)}.location-badge svg{color:var(--color-navy);flex-shrink:0}.location-description{color:var(--color-text);font-size:var(--text-lead);margin:var(--space-4) 0 0 0}.nearby-section{margin-bottom:var(--section-gap)}.nearby-section h2{font-size:var(--text-h2);margin-bottom:var(--space-6);color:var(--color-navy)}.attractions-list{padding-left:var(--space-6);list-style:disc;color:var(--color-text)}.attractions-list li{padding-block:var(--space-1)}.map-section{margin-bottom:var(--section-gap)}.map-section h2{font-size:var(--text-h2);margin-bottom:var(--space-6)}.map-fallback{color:var(--color-text);margin-bottom:var(--space-6)}.map-fallback-note{margin:var(--space-2) 0 0 0;color:var(--color-text-muted);font-size:var(--text-body)}.map-note{color:var(--color-text-muted);font-size:var(--text-body);font-style:italic;margin:0}.area-info h2{font-size:var(--text-h2);margin-bottom:var(--space-6);color:var(--color-navy)}.info-cards{display:grid;grid-template-columns:1fr;gap:var(--space-6) var(--space-8)}.info-card h3{margin:0 0 var(--space-3) 0;color:var(--color-navy);font-size:var(--text-h3)}.info-card p{margin:0;color:var(--color-text);line-height:1.6}@media(min-width:768px){.info-cards{grid-template-columns:repeat(3,1fr)}}.review-card{padding:var(--space-6) 0}.review-card+.review-card{border-top:1px solid var(--color-border)}.review-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.review-card__author-info{flex:1}.review-card__author-name{font-size:var(--text-h3);font-weight:600;color:var(--color-navy);margin:0 0 var(--space-1) 0}.review-card__author-location{font-size:var(--text-small);color:var(--color-text-muted);margin:0}.review-card__rating{display:flex;align-items:center;gap:var(--space-1)}.review-card__star{color:var(--color-gold);font-size:1em}.review-card__star--empty{color:var(--color-border-input)}.review-card__meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.review-card__date{font-size:var(--text-small);color:var(--color-text-muted)}.review-card__stay-details{font-size:var(--text-small);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-1)}.review-card__stay-icon{font-size:1em}.review-card__text{font-size:var(--text-body);line-height:1.6;color:var(--color-text);margin:0}@media(max-width:768px){.review-card__header{flex-direction:column;gap:var(--space-3)}}.reviews-page__stats{margin-bottom:var(--section-gap)}.reviews-page__stats-content{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);align-items:center}.reviews-page__overall-rating{font-family:var(--font-display);font-size:var(--text-h1);font-weight:600;line-height:var(--leading-heading);color:var(--color-navy)}.reviews-page__overall-stars{display:flex;gap:var(--space-1);margin-block:var(--space-2);font-size:1.5rem;color:var(--color-gold)}.reviews-page__star--empty{color:var(--color-border-input)}.reviews-page__overall-label{font-size:var(--text-body);font-weight:600;color:var(--color-text)}.reviews-page__overall-count{font-size:var(--text-small);color:var(--color-text-muted)}.reviews-page__breakdown{display:flex;flex-direction:column;gap:var(--space-3)}.reviews-page__breakdown-row{display:grid;grid-template-columns:3rem minmax(0,1fr) 5.5rem;gap:var(--space-4);align-items:center;font-size:var(--text-small);color:var(--color-text)}.reviews-page__breakdown-label{display:flex;align-items:center;gap:var(--space-1)}.reviews-page__breakdown-label svg{color:var(--color-gold)}.reviews-page__breakdown-bar{background:var(--color-navy-tint);height:8px;border-radius:var(--radius-pill);overflow:hidden}.reviews-page__breakdown-fill{background:var(--color-gold);height:100%;border-radius:var(--radius-pill);transition:width var(--transition)}.reviews-page__breakdown-count{text-align:right;color:var(--color-text-muted)}@media(min-width:768px){.reviews-page__stats-content{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-12)}}.reviews-page__filters{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--space-2);row-gap:var(--space-3);margin-bottom:var(--space-8)}.reviews-page__filter-select+.reviews-page__filter-label{margin-left:var(--space-4)}.reviews-page__filter-select:hover{border-color:var(--color-navy)}.reviews-page__list{margin-top:var(--space-8)}.reviews-page__count{font-size:var(--text-h3);font-weight:600;color:var(--color-navy);margin:0 0 var(--space-6) 0}.reviews-page__empty{text-align:center;padding:var(--space-16) var(--space-6);color:var(--color-text-muted)}.reviews-page__empty-icon{font-size:2rem;margin-bottom:var(--space-4);color:var(--color-text-muted)}.reviews-page__empty-text{font-size:var(--text-lead);margin:0}@media(max-width:600px){.reviews-page__filters{flex-direction:column;align-items:stretch;row-gap:var(--space-1)}.reviews-page__filter-select+.reviews-page__filter-label{margin-left:0;margin-top:var(--space-3)}.reviews-page__filter-select{width:100%}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.calendar-widget{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);border:1px solid var(--color-border);box-shadow:none}.calendar-widget__header{margin-bottom:var(--space-4);display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.calendar-widget__header h3{font-size:var(--text-h2);font-weight:600;color:var(--color-navy);margin:0 0 var(--space-2) 0}.calendar-widget__note{font-size:var(--text-small);color:var(--color-text-muted);margin:0}.calendar-widget__calendar.react-calendar{width:100%;background:transparent;border:0;font-family:inherit;line-height:var(--leading-small)}.calendar-widget__calendar .react-calendar__navigation{height:auto;min-height:44px;margin-bottom:var(--space-2)}.calendar-widget__calendar .react-calendar__navigation button{min-height:44px;background:transparent;border-radius:var(--radius-sm);color:var(--color-navy);font-size:var(--text-body);font-weight:600;transition:background-color var(--transition)}.calendar-widget__calendar .react-calendar__navigation button:enabled:hover,.calendar-widget__calendar .react-calendar__navigation button:enabled:focus{background-color:var(--color-navy-tint)}.calendar-widget__calendar .react-calendar__navigation button:disabled{background-color:transparent;color:var(--color-disabled);cursor:not-allowed}.calendar-widget__calendar .react-calendar__month-view__weekdays{color:var(--color-text-muted);font-size:var(--text-small);font-weight:600;text-transform:none}.calendar-widget__calendar .react-calendar__month-view__weekdays abbr{text-decoration:none}.calendar-widget__calendar .react-calendar__tile{display:flex;align-items:center;justify-content:center;height:44px;padding:0;background:transparent;border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-body);transition:background-color var(--transition)}.calendar-widget__calendar .react-calendar__month-view__days__day{margin:0}.calendar-widget__calendar .react-calendar__month-view__days__day--neighboringMonth{color:var(--color-text-muted)}.calendar-widget__calendar .react-calendar__tile--now{background:transparent;font-weight:600;outline:1px solid var(--color-border-input);outline-offset:-1px}.calendar-widget__calendar .react-calendar__tile--active,.calendar-widget__calendar .react-calendar__tile--hasActive{background:var(--color-navy);color:var(--color-cream)}.calendar-widget__calendar .react-calendar__tile--range{background:var(--color-navy-tint);color:var(--color-navy)}.calendar-widget__calendar .react-calendar__tile--rangeStart,.calendar-widget__calendar .react-calendar__tile--rangeEnd{background:var(--color-navy);color:var(--color-cream)}.calendar-widget__calendar .react-calendar__tile:enabled:hover,.calendar-widget__calendar .react-calendar__tile:enabled:focus,.calendar-widget__calendar.react-calendar--selectRange .react-calendar__tile--hover{background:var(--color-navy-tint)}.calendar-widget__calendar .react-calendar__tile--active:not(.react-calendar__tile--range):enabled:hover,.calendar-widget__calendar .react-calendar__tile--active:not(.react-calendar__tile--range):enabled:focus,.calendar-widget__calendar .react-calendar__tile--rangeStart:enabled:hover,.calendar-widget__calendar .react-calendar__tile--rangeStart:enabled:focus,.calendar-widget__calendar .react-calendar__tile--rangeEnd:enabled:hover,.calendar-widget__calendar .react-calendar__tile--rangeEnd:enabled:focus,.calendar-widget__calendar .react-calendar__tile--hasActive:enabled:hover,.calendar-widget__calendar .react-calendar__tile--hasActive:enabled:focus{background:var(--color-navy);color:var(--color-cream)}.calendar-widget__calendar .react-calendar__navigation button:focus-visible,.calendar-widget__calendar .react-calendar__tile:focus-visible{outline:var(--focus-ring);outline-offset:0}.calendar-widget__calendar .react-calendar__tile:disabled,.calendar-widget__calendar .react-calendar__tile--disabled,.calendar-widget__calendar button[disabled].react-calendar__tile{background:transparent;color:var(--color-disabled);cursor:not-allowed;pointer-events:none;text-decoration:none}.calendar-widget__error{margin-top:var(--space-4);color:var(--color-error);font-size:var(--text-body);font-weight:600}.calendar-widget__calendar button.react-calendar__tile.tile--blocked{position:relative;background-color:transparent;background-image:repeating-linear-gradient(135deg,var(--color-navy-tint) 0,var(--color-navy-tint) 8px,transparent 8px,transparent 16px);background-size:160% 160%;color:var(--color-navy);font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--color-border-input)}.calendar-widget__calendar button.react-calendar__tile.tile--blocked[disabled],.calendar-widget__calendar button.react-calendar__tile.tile--blocked.react-calendar__tile--disabled{opacity:.8;cursor:not-allowed;pointer-events:none}.calendar-widget__calendar button.react-calendar__tile.tile--blocked:hover,.calendar-widget__calendar button.react-calendar__tile.tile--blocked:focus{background-image:repeating-linear-gradient(135deg,var(--color-navy-tint) 0,var(--color-navy-tint) 8px,transparent 8px,transparent 16px);color:var(--color-navy);outline:none}.calendar-widget__selection{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.calendar-widget__date{display:flex;justify-content:space-between;align-items:center}.calendar-widget__label{font-weight:600;color:var(--color-text)}.calendar-widget__value{color:var(--color-navy);font-weight:600}@media(max-width:600px){.calendar-widget{padding:var(--space-4)}}@media(max-width:768px){.calendar-widget__header{flex-direction:column}}.house-rules-card__title{font-size:var(--text-h3);font-weight:600;color:var(--color-navy);margin:0 0 var(--space-2)}.house-rules-card__list{list-style:none;padding:0;margin:0}.house-rules-card__item{padding:var(--space-2) 0 var(--space-2) var(--space-4);color:var(--color-text);line-height:1.5;border-bottom:1px solid var(--color-border)}.house-rules-card__item:last-child{border-bottom:none}.house-rules-card__item:before{content:"•";color:var(--color-navy);font-weight:600;display:inline-block;width:1em;margin-left:-1em}.booking-bar{position:sticky;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-8) calc(-1 * var(--gutter)) 0;padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--color-cream);border-top:1px solid var(--color-border);box-shadow:none}.booking-bar[data-visible=false]{visibility:hidden;transform:translateY(100%)}@media(prefers-reduced-motion:no-preference){.booking-bar{transition:transform var(--transition),visibility var(--transition)}}.booking-bar__status{margin:0;display:flex;flex-direction:column;min-width:0;line-height:var(--leading-small)}.booking-bar__primary{font-size:var(--text-body);font-weight:600;color:var(--color-text)}.booking-bar__secondary{font-size:var(--text-small);color:var(--color-text-muted)}.booking-bar__placeholder{display:inline-block;width:6rem;background:var(--color-navy-tint);border-radius:var(--radius-sm)}.booking-bar__button{flex-shrink:0}@media(min-width:1024px){.booking-bar{display:none}}.book-page__content{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);align-items:start}.book-page__calendar-section{display:flex;flex-direction:column;gap:var(--space-6)}.book-page__pricing{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);border:1px solid var(--color-border);box-shadow:none}.book-page__pricing h3{font-size:var(--text-h3);color:var(--color-navy);margin:0 0 var(--space-2) 0}.book-page__pricing-note{color:var(--color-text-muted);font-size:var(--text-small);margin:0 0 var(--space-4) 0}.book-page__price-line{margin:0;font-size:var(--text-h3);line-height:1.5;color:var(--color-navy)}.book-page__price-placeholder{display:inline-block;width:10rem;border-radius:var(--radius-sm);background:var(--color-navy-tint)}.book-page__stay-summary{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-navy-tint);font-size:var(--text-lead);color:var(--color-navy);text-align:left;font-weight:600}.book-page__stay-summary--loading{background:var(--color-navy-tint)}.book-page__price-message{margin:var(--space-3) 0 0 0;color:var(--color-text);line-height:1.5}.book-page__price-detail{margin:var(--space-3) 0 0 0;font-size:var(--text-body);color:var(--color-text)}.book-page__price-detail+.book-page__price-detail{margin-top:var(--space-1)}.book-page__price-fineprint{margin:var(--space-3) 0 0 0;font-size:var(--text-small);line-height:1.5;color:var(--color-text-muted)}.book-page__pet-toggle{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--color-text);cursor:pointer}.book-page__pet-toggle input{width:20px;height:20px;accent-color:var(--color-navy)}.book-page__cta{width:100%}.book-page__disclaimer{text-align:center;font-size:var(--text-small);color:var(--color-text-muted);margin:var(--space-2) 0 0 0}.book-page__airbnb{margin-top:var(--space-6);text-align:center}.book-page__airbnb p{margin:0 0 var(--space-2) 0;font-size:var(--text-small);color:var(--color-text-muted)}.book-page .calendar-widget{scroll-margin-top:calc(var(--header-height) + var(--space-4))}.book-page__rules-section{display:flex;flex-direction:column;gap:var(--space-8)}.book-page__rules-section h2{font-size:var(--text-h2);color:var(--color-navy);margin:0 0 var(--space-4) 0}.book-page__cleaning-note{display:flex;align-items:flex-start;gap:var(--space-3)}.book-page__cleaning-note svg{color:var(--color-navy);font-size:1.25em;flex-shrink:0;margin-top:var(--space-1)}.book-page__cleaning-note p{margin:0;color:var(--color-text);line-height:1.5}.book-page__policy h3{font-size:var(--text-h3);color:var(--color-navy);margin:0 0 var(--space-3) 0}.book-page__policy p{margin:0;color:var(--color-text);line-height:1.6}@media(min-width:1024px){.book-page__content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:600px){.book-page__pricing{padding:var(--space-4)}}.contact-page__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.contact-page__form-panel{display:flex;flex-direction:column;gap:var(--space-6)}.contact-page__alt-contact{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.contact-page__alt-contact p{font-size:var(--text-body);color:var(--color-text)}.contact-page__sidebar{display:flex;flex-direction:column;gap:var(--space-8)}.contact-page__quick-info h3{margin-bottom:var(--space-2);font-size:var(--text-h3);color:var(--color-navy)}.contact-page__quick-info ul{list-style:none;padding:0;margin:0}.contact-page__quick-info li{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);font-size:var(--text-body);color:var(--color-text)}.contact-page__quick-info li+li{border-top:1px solid var(--color-border)}.contact-page__quick-info span{color:var(--color-text-muted)}.contact-page__quick-info strong{color:var(--color-navy)}@media(min-width:1024px){.contact-page__grid{grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-12)}}.contact-form{padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:none}.contact-form__header{margin-bottom:var(--space-6)}.contact-form__header h2{font-size:var(--text-h2);font-weight:600;color:var(--color-navy);margin-bottom:var(--space-2)}.contact-form__header p{color:var(--color-text-muted);font-size:var(--text-body);line-height:1.5}.contact-form__success,.contact-form__error{margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-left:4px solid transparent;color:var(--color-text);font-size:var(--text-body)}.contact-form__success{border-left-color:var(--color-success)}.contact-form__error{border-left-color:var(--color-error)}.contact-form__success strong{color:var(--color-success)}.contact-form__error strong{color:var(--color-error)}.contact-form__field{margin-bottom:var(--space-6)}.contact-form__field label{display:block;margin-bottom:var(--space-1)}.contact-form__field .required{color:var(--color-error)}.contact-form__field input,.contact-form__field textarea{width:100%}.contact-form__field textarea{resize:vertical;min-height:140px}.contact-form__field-error{display:block;margin-top:var(--space-1);color:var(--color-error);font-size:var(--text-small)}.contact-form__char-count{display:block;text-align:right;font-size:var(--text-small);color:var(--color-text-muted);margin-top:var(--space-1)}.contact-form__submit{width:100%}@media(max-width:600px){.contact-form{padding:var(--space-4)}}.faq-section{width:100%;margin-top:var(--section-gap)}.faq-section__header{margin-bottom:var(--space-8)}.faq-section__header h2{font-size:var(--text-h2);color:var(--color-navy);margin-bottom:var(--space-2)}.faq-section__header p{color:var(--color-text-muted)}.faq-section__list{display:flex;flex-direction:column;border-bottom:1px solid var(--color-border)}.faq-item{border-top:1px solid var(--color-border)}.faq-item__question{width:100%;border:none;background:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;font-size:var(--text-body);font-weight:600;text-align:left;cursor:pointer;color:var(--color-navy)}.faq-item__question:hover{text-decoration:underline}.faq-item__question:focus-visible{outline:var(--focus-ring);outline-offset:2px}.faq-item__icon{font-size:1.5rem;color:var(--color-navy)}.faq-item__answer{padding:0 0 var(--space-4);color:var(--color-text);line-height:1.6}@media(max-width:768px){.faq-section{padding:var(--space-8) 0}}.host-info-card__header h3{font-size:var(--text-h3);margin-bottom:var(--space-4);color:var(--color-navy)}.host-info-card__name-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.host-info-card__name{font-size:var(--text-h3);font-weight:600;color:var(--color-navy);margin:0}.host-info-card__tenure{color:var(--color-text-muted);margin:var(--space-1) 0 0}.host-info-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-6) 0;padding-block:var(--space-4);border-block:1px solid var(--color-border)}.host-info-card__stat-label{margin:0;color:var(--color-text-muted);font-size:var(--text-small)}.host-info-card__stat-value{margin:0;font-size:var(--text-lead);font-weight:600;color:var(--color-navy)}.host-info-card__details{list-style:none;padding:0;margin:0;color:var(--color-text)}.host-info-card__details li{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.host-info-card__footer{border-top:1px solid var(--color-border);margin-top:var(--space-6);padding-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-small)}.not-found{max-width:760px;margin:0 auto}.not-found__scene{position:relative;height:280px;margin-bottom:var(--space-8);overflow:hidden;border-radius:var(--radius-md);background:linear-gradient(to bottom,var(--color-navy-tint),var(--color-surface));box-shadow:var(--shadow-card)}.not-found__sun{position:absolute;top:var(--space-6);right:var(--space-8);width:56px;height:56px;border-radius:50%;background:var(--color-gold);box-shadow:0 0 0 10px var(--color-sun-glow)}.not-found__waves{position:absolute;left:0;bottom:40px;width:200%;height:90px}.not-found__wave--back{fill:var(--color-navy);opacity:.35}.not-found__wave--front{fill:var(--color-navy);opacity:.85}.not-found__sand{position:absolute;left:0;right:0;bottom:0;height:44px;background:var(--color-sand);border-top:3px solid var(--color-sand-light)}.not-found__pelican-wrap{position:absolute;left:12%;bottom:14px;z-index:2}.not-found__pelican{display:block;padding:0;border:0;background:none;cursor:pointer;border-radius:var(--radius-md)}.not-found__pelican:focus-visible{outline:var(--focus-ring);outline-offset:4px}.not-found__pelican img{width:98px;height:160px}.not-found__bubble{position:absolute;bottom:calc(100% + var(--space-2));left:50%;width:max-content;max-width:220px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-overlay);color:var(--color-navy);font-size:var(--text-small);font-weight:600;line-height:var(--leading-small);transform:translate(-20%)}.not-found__bubble:after{content:"";position:absolute;top:100%;left:20%;border:8px solid transparent;border-top-color:var(--color-surface)}.not-found__bottle{position:absolute;right:18%;bottom:70px;z-index:1}.not-found__bottle-glass{fill:var(--color-bottle-glass);stroke:var(--color-success);stroke-width:2}.not-found__bottle-cork{fill:var(--color-cork)}.not-found__bottle-note{fill:var(--color-cream);transform:rotate(-3deg);transform-origin:43px 22px}.not-found__copy{text-align:center}.not-found__eyebrow{margin-bottom:var(--space-2);color:var(--color-orange);font-size:var(--text-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.not-found h1{font-size:var(--text-h1);margin-bottom:var(--space-4)}.not-found__lead{font-size:var(--text-lead);color:var(--color-text-muted);margin-bottom:var(--space-6)}.not-found__lead code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-navy-tint);color:var(--color-navy);font-size:.9em;overflow-wrap:anywhere}.not-found__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}@media(max-width:480px){.not-found__scene{height:240px}.not-found__pelican-wrap{left:8%}.not-found__bottle{right:6%}.not-found__actions .btn{width:100%}}@media(prefers-reduced-motion:no-preference){.not-found__waves{animation:not-found-drift 12s linear infinite}.not-found__wave--back{animation:not-found-swell 5s ease-in-out infinite}.not-found__bottle{animation:not-found-bob 3.2s ease-in-out infinite}.not-found__pelican picture{display:block;transform-origin:50% 100%;animation:not-found-sway 4s ease-in-out infinite}.not-found__pelican picture.is-hopping{animation:not-found-hop .45s ease-out}.not-found__bubble{animation:not-found-pop .2s ease-out}}@keyframes not-found-drift{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes not-found-swell{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes not-found-bob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(4deg)}}@keyframes not-found-sway{0%,to{transform:rotate(0)}50%{transform:rotate(-2deg)}}@keyframes not-found-hop{0%{transform:translateY(0) scale(1)}20%{transform:translateY(0) scale(1.06,.92)}50%{transform:translateY(-22px) scale(.96,1.05)}to{transform:translateY(0) scale(1)}}@keyframes not-found-pop{0%{opacity:0;transform:translate(-20%) translateY(6px) scale(.9)}to{opacity:1;transform:translate(-20%) translateY(0) scale(1)}}#root{width:100%;min-height:100vh;background-color:var(--color-cream);color:var(--color-text)}
