@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap');

:root {
  --blue: #0a2b5b;
  --blue-2: #123d77;
  --coral: #ff4d5a;
  --ink: #11233d;
  --muted: #5d6b7c;
  --line: #dfe5ec;
  --soft: #f4f7fa;
  --white: #fff;
  --shadow: 0 18px 48px rgba(10, 43, 91, .12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.55; }
body.dialog-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .75rem 1rem; background: var(--blue); color: white; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(223,229,236,.85); backdrop-filter: blur(14px); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.brand img { width: 178px; height: auto; }
.nav-wrap, .main-nav, .language { display: flex; align-items: center; }
.nav-wrap { gap: 1.5rem; }
.main-nav { gap: 1.25rem; }
.main-nav a { text-decoration: none; font-weight: 700; font-size: .92rem; }
.main-nav a:hover { color: var(--coral); }
.language { gap: .25rem; padding: .25rem; border: 1px solid var(--line); border-radius: 999px; }
.language a { min-width: 36px; padding: .32rem .55rem; text-align: center; text-decoration: none; font-weight: 800; font-size: .78rem; border-radius: 999px; }
.language a[aria-current="true"] { background: var(--blue); color: white; }

.home-hero { position: relative; overflow: hidden; padding: 54px 0 36px; background: var(--blue); color: white; }
.home-hero::after { content: ""; position: absolute; width: 420px; height: 14px; right: -80px; top: 56px; background: var(--coral); transform: rotate(-9deg); border-radius: 20px; opacity: .95; }
.eyebrow { margin: 0 0 .45rem; color: var(--coral); font-size: .82rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.home-hero h1 { max-width: 800px; margin: 0; font-size: clamp(2rem, 5vw, 4.35rem); line-height: .98; letter-spacing: -.045em; }
.home-hero p { max-width: 670px; margin: 1.2rem 0 0; color: #d9e6f7; font-size: 1.08rem; }

.search-wrap { position: relative; z-index: 2; margin-top: 34px; }
.search-card { display: grid; grid-template-columns: 1fr 1fr .8fr auto; align-items: end; gap: 0; padding: 8px; color: var(--ink); background: white; border-radius: 20px; box-shadow: 0 22px 60px rgba(0,0,0,.28); }
.field { min-width: 0; padding: 6px 16px; border-right: 1px solid var(--line); }
.field label { display: block; margin-bottom: 3px; font-size: .75rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.field input, .field select { width: 100%; min-height: 38px; padding: 0; color: var(--ink); background: transparent; border: 0; outline: 0; }
.btn { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .55rem; padding: .72rem 1.15rem; border: 0; border-radius: 14px; background: var(--coral); color: #391014; font-weight: 900; text-decoration: none; cursor: pointer; }
.btn:hover { filter: brightness(.96); transform: translateY(-1px); }
.btn-secondary { background: var(--blue); color: white; }
.btn-ghost { background: transparent; color: var(--blue); border: 1px solid var(--line); }
.search-note { margin: .8rem .5rem 0; color: #d9e6f7; font-size: .86rem; }
.search-feedback { display: none; margin: 1rem 0 0; padding: .75rem 1rem; color: var(--blue); background: #fff; border-radius: 12px; font-weight: 750; }
.search-feedback.show { display: block; }

.section { padding: 64px 0; }
.section-soft { background: var(--soft); }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; margin-bottom: 26px; }
.section-head h2 { margin: 0; color: var(--blue); font-size: clamp(1.7rem, 3vw, 2.7rem); letter-spacing: -.035em; line-height: 1.05; }
.section-head p { max-width: 620px; margin: .55rem 0 0; color: var(--muted); }
.property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.property-card { position: relative; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: var(--radius); transition: .2s ease; }
.property-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.property-card a.card-main { display: block; text-decoration: none; }
.card-image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #dbe3ee; }
.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.property-card:hover .card-image img { transform: scale(1.025); }
.card-body { padding: 18px 18px 12px; }
.card-kicker { display: flex; justify-content: space-between; gap: .5rem; color: var(--coral); font-size: .77rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.card-body h3 { margin: .45rem 0 .55rem; color: var(--blue); font-size: 1.15rem; line-height: 1.25; }
.facts { display: flex; flex-wrap: wrap; gap: .45rem .85rem; margin: 0; color: var(--muted); font-size: .9rem; }
.card-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 18px 18px; }
.compare-check { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: .5rem; font-size: .84rem; font-weight: 750; cursor: pointer; }
.compare-check input { width: 18px; height: 18px; accent-color: var(--coral); }
.arrow-link { color: var(--blue); font-size: .78rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.compare-bar { position: fixed; left: 50%; bottom: 20px; z-index: 35; display: none; align-items: center; gap: 1rem; width: min(760px, calc(100% - 28px)); padding: .75rem .85rem .75rem 1rem; transform: translateX(-50%); background: var(--blue); color: white; border-radius: 18px; box-shadow: 0 18px 60px rgba(0,0,0,.3); }
.compare-bar.show { display: flex; }
.compare-bar span { flex: 1; font-weight: 800; }

.reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.reason { padding: 24px; background: var(--blue); color: white; border-radius: var(--radius); }
.reason:nth-child(2) { background: var(--blue-2); }
.reason:nth-child(3) { background: var(--coral); color: #3b1015; }
.reason strong { display: block; margin-bottom: .5rem; font-size: 1.1rem; }
.reason p { margin: 0; color: inherit; opacity: .86; }

.footer { padding: 38px 0 110px; background: #071e40; color: #dbe7f6; }
.footer-inner { display: flex; justify-content: space-between; gap: 2rem; }
.footer img { width: 170px; filter: brightness(0) invert(1); }
.footer p { max-width: 610px; margin: .8rem 0 0; font-size: .9rem; }
.footer a { color: white; }

.breadcrumb { display: flex; gap: .4rem; padding: 22px 0 14px; color: var(--muted); font-size: .9rem; }
.property-title { padding: 10px 0 26px; }
.property-title h1 { max-width: 900px; margin: .3rem 0 .65rem; color: var(--blue); font-size: clamp(2rem, 5vw, 4.25rem); letter-spacing: -.05em; line-height: .98; }
.property-title .facts { font-size: 1rem; }
.gallery-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 240px 240px; gap: 10px; overflow: hidden; border-radius: 24px; }
.gallery-grid button { position: relative; overflow: hidden; padding: 0; border: 0; background: #dbe3ee; cursor: pointer; }
.gallery-grid button:first-child { grid-row: 1 / 3; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.gallery-grid button:hover img { transform: scale(1.025); }
.gallery-all { position: absolute; right: 16px; bottom: 16px; padding: .6rem .9rem; border-radius: 12px; background: white; color: var(--blue); box-shadow: 0 6px 24px rgba(0,0,0,.18); font-weight: 900; }
.property-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .8fr); gap: 52px; align-items: start; padding: 44px 0 80px; }
.content-block { padding: 28px 0; border-bottom: 1px solid var(--line); }
.content-block:first-child { padding-top: 0; }
.content-block h2 { margin: 0 0 1rem; color: var(--blue); font-size: 1.55rem; }
.content-block h3 { margin: 1.2rem 0 .45rem; color: var(--blue); font-size: 1.05rem; }
.content-block p { margin: 0 0 .9rem; }
.content-block ul { margin: 0; padding-left: 1.25rem; }
.content-block li + li { margin-top: .4rem; }
.location-map { margin-top: 1.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.location-map-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem; }
.location-map-head h3 { margin: 0 0 .35rem; }
.location-map-head p { max-width: 34rem; margin: 0; }
.location-map-head a { flex: 0 0 auto; color: var(--blue); font-size: .78rem; font-weight: 800; text-decoration: none; }
.location-map-frame { position: relative; overflow: hidden; }
.location-map iframe { display: block; width: 100%; height: 260px; border: 0; }
.location-radius { position: absolute; top: 50%; left: 50%; width: 146px; aspect-ratio: 1; transform: translate(-50%, -50%); border: 2px solid rgba(225, 64, 65, .9); border-radius: 50%; background: rgba(234, 88, 90, .32); box-shadow: 0 0 0 1px rgba(255,255,255,.5) inset; pointer-events: none; }
.notice { padding: 16px 18px; background: #fff4f5; border-left: 4px solid var(--coral); border-radius: 10px; }
.amenity-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 32px; }
.amenity-group ul { columns: 1; color: var(--muted); }
.amenity-group:first-child { grid-column: 1 / -1; }
.amenity-group:first-child ul { columns: 2; column-gap: 32px; }
.amenity-group li { break-inside: avoid; }
.review { padding: 20px; background: var(--soft); border-radius: 16px; }
.review + .review { margin-top: 12px; }
.review-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; color: var(--blue); font-weight: 900; }
.booking-card { position: sticky; top: 104px; overflow: hidden; padding: 22px; background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); }
.booking-card h2 { margin: 0 0 .35rem; color: var(--blue); font-size: 1.35rem; }
.booking-card p { margin: 0 0 1.1rem; color: var(--muted); font-size: .9rem; }
.widget-shell { min-height: 170px; padding: 14px; background: var(--soft); border-radius: 14px; }
.widget-label { margin: 0 0 .8rem; color: var(--blue); font-size: .78rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.widget-fallback { margin: .75rem 0 0; color: var(--muted); font-size: .78rem; }
.back-row { margin-top: 1rem; text-align: center; }
.mobile-book { display: none; }

.compare-page { padding: 44px 0 90px; }
.compare-page h1 { margin: 0 0 .5rem; color: var(--blue); font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.04em; }
.compare-page > p { margin: 0 0 2rem; color: var(--muted); }
.compare-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; }
.compare-table { width: 100%; min-width: 760px; border-collapse: collapse; background: white; }
.compare-table th, .compare-table td { padding: 15px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.compare-table th { color: var(--blue); background: var(--soft); }
.compare-table th:first-child { width: 180px; }
.compare-table tr:last-child th, .compare-table tr:last-child td { border-bottom: 0; }
.compare-table img { width: 100%; max-width: 240px; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; }

.gallery-dialog { width: min(1180px, calc(100% - 28px)); height: min(90vh, 840px); padding: 0; border: 0; border-radius: 22px; background: #061b3b; color: white; box-shadow: 0 24px 90px rgba(0,0,0,.45); }
.gallery-dialog::backdrop { background: rgba(2,12,27,.82); backdrop-filter: blur(5px); }
.gallery-dialog-inner { display: grid; grid-template-rows: auto 1fr auto; height: 100%; }
.dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 14px 18px; }
.dialog-head strong { font-size: .95rem; }
.icon-btn { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; color: white; font-size: 1.35rem; cursor: pointer; }
.dialog-stage { position: relative; display: grid; place-items: center; min-height: 0; padding: 0 70px; }
.dialog-stage img { width: 100%; height: 100%; object-fit: contain; }
.dialog-nav { position: absolute; top: 50%; width: 46px; height: 46px; transform: translateY(-50%); border: 0; border-radius: 50%; background: white; color: var(--blue); font-size: 1.5rem; font-weight: 900; cursor: pointer; }
.dialog-nav.prev { left: 15px; }
.dialog-nav.next { right: 15px; }
.thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 12px 18px 16px; }
.thumbs button { flex: 0 0 76px; padding: 0; border: 2px solid transparent; border-radius: 9px; overflow: hidden; background: transparent; cursor: pointer; }
.thumbs button.active { border-color: var(--coral); }
.thumbs img { width: 76px; height: 54px; object-fit: cover; }

@media (max-width: 900px) {
  .main-nav { display: none; }
  .property-grid { grid-template-columns: repeat(2, 1fr); }
  .search-card { grid-template-columns: 1fr 1fr; gap: 8px; }
  .field { border: 0; background: var(--soft); border-radius: 12px; }
  .search-card .btn { grid-column: 1 / -1; }
  .reasons { grid-template-columns: 1fr; }
  .property-layout { grid-template-columns: 1fr; gap: 24px; }
  .booking-card { position: static; }
  .gallery-grid { grid-template-rows: 190px 190px; }
  .mobile-book { position: fixed; right: 14px; bottom: 14px; z-index: 32; display: inline-flex; box-shadow: 0 10px 36px rgba(10,43,91,.32); }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 28px, 1180px); }
  .header-inner { min-height: 68px; }
  .brand img { width: 145px; }
  .nav-wrap { gap: .5rem; }
  .language a { min-width: 31px; padding: .28rem .4rem; }
  .home-hero { padding-top: 38px; }
  .home-hero::after { width: 250px; right: -100px; top: 28px; }
  .home-hero h1 { font-size: clamp(2.4rem, 13vw, 3.7rem); }
  .search-card { grid-template-columns: 1fr; }
  .search-card .btn { grid-column: auto; }
  .property-grid { grid-template-columns: 1fr; }
  .section { padding: 46px 0; }
  .section-head { display: block; }
  .footer-inner { display: block; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 120px; }
  .gallery-grid button:first-child { grid-column: 1 / -1; grid-row: auto; }
  .gallery-grid button:nth-child(n+4) { display: none; }
  .property-layout { padding-top: 32px; }
  .amenity-groups { grid-template-columns: 1fr; }
  .amenity-group:first-child ul { columns: 1; }
  .dialog-stage { padding: 0 14px; }
  .dialog-nav { top: auto; bottom: 14px; transform: none; }
  .dialog-nav.prev { left: 16px; }
  .dialog-nav.next { right: 16px; }
  .compare-bar { bottom: 12px; }
  .compare-bar .btn { min-height: 42px; padding: .55rem .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Bob W reference adaptation — LAVAL STR, September 2026.
   Cream editorial canvas, full-bleed photography, mixed serif/sans headings.
   Terracotta replaces the reference blue at the owner's request. */
:root{--blue:#282520;--blue-2:#39362f;--coral:#a7442f;--ink:#282520;--muted:#716a63;--line:#ded5cc;--soft:#f2e8dc;--white:#fffaf5;--shadow:0 12px 32px #38281914;--radius:10px;--paper:#f8efe5}
body{background:var(--paper);font-family:"Avenir Next",Avenir,"Trebuchet MS",Arial,sans-serif;font-size:15px;line-height:1.5}
button,a,input,select{touch-action:manipulation}
html{scroll-padding-top:120px}
em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}
mark{color:inherit;background:none;text-decoration:underline;text-decoration-color:#d98a60;text-decoration-thickness:3px;text-underline-offset:6px}
.shell{width:min(1440px,90%)}
.announcement{height:36px;display:flex;align-items:center;justify-content:center;background:#8b3e2c;color:#fff9f2;font-size:14px;letter-spacing:.075em;text-align:center}
.site-header{position:sticky;top:0;height:86px;margin-bottom:-86px;border:0;background:transparent;backdrop-filter:none;color:white;transition:background .2s,color .2s;z-index:50}
.site-header.scrolled,.compare-page .site-header{background:var(--paper);color:var(--ink);box-shadow:0 3px 15px #2825200a}
.header-inner{height:86px;min-height:0;gap:28px}
.brand img{width:190px;filter:brightness(0) invert(1)}
.home-page .brand img{width:252px}
.site-header.scrolled .brand img,.compare-page .brand img{filter:brightness(0)}
.main-nav{gap:30px}
.main-nav a{font-size:15px;font-weight:600}
.nav-wrap{gap:22px}
.language{border:0;gap:1px;padding:0}
.language a{font-size:13px;min-width:24px;padding:4px;opacity:.65;border-radius:0}
.language a[aria-current=true]{background:transparent;color:inherit;opacity:1;border-bottom:1px solid currentColor}
.header-book{border:1px solid currentColor;border-radius:100px;padding:10px 22px;font-size:15px;text-decoration:none;white-space:nowrap}
.menu-toggle{display:none}
.home-hero{height:calc(90svh - 36px);min-height:540px;max-height:900px;padding:0;background:#51473b;isolation:isolate;overflow:hidden}
.home-hero::after{inset:0;width:auto;height:auto;transform:none;border-radius:0;background:linear-gradient(180deg,#1a150f99 0%,#211a1566 32%,#211a1570 58%,#18120d88 100%);opacity:1;z-index:-1}
.hero-images,.hero-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-photo{object-fit:cover;opacity:0;transition:opacity 1.1s;object-position:center 55%}
.hero-photo.active{opacity:1}
.hero-copy{display:flex;align-items:center;justify-content:center;height:100%;padding:90px 24px 95px;text-align:center}
.home-hero h1{max-width:900px;font-size:clamp(34px,3.5vw,56px);line-height:1.07;letter-spacing:-.045em;text-transform:uppercase;font-weight:700}
.home-hero h1 em{font-size:1.08em}
.hero-controls{position:absolute;left:50%;bottom:81px;display:flex;align-items:center;gap:9px;transform:translateX(-50%)}
.slide-dot{width:74px;height:30px;padding:0;position:relative;background:none;border:0;cursor:pointer}
.slide-dot::after{content:"";position:absolute;top:14px;left:0;right:0;height:3px;background:#fff7ed60}
.slide-dot.active::after{background:#fff7ed}
.slide-pause{margin-left:20px;background:transparent;border:0;color:#fff;padding:8px;font-size:20px;cursor:pointer}
.hero-caption{position:absolute;right:5%;bottom:90px;color:#fffaf5;font-size:11px;text-decoration:none;letter-spacing:.04em}
.search-dock{position:relative;z-index:20;margin-top:-48px}
.search-card{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;background:var(--white);padding:18px;border-radius:70px;box-shadow:0 12px 28px #28252020;align-items:stretch}
.field{background:#eee6de;border:1px solid #e6dcd2;padding:11px 24px;border-radius:60px;min-width:0}
.field label{font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;margin:0;color:#746c63}
.field input,.field select{min-height:26px;font-size:14px;outline:revert;color:var(--ink)}
.location-value,.date-toggle{display:flex;align-items:center;min-height:26px;color:var(--ink);font:400 16px/24px "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
.date-toggle{width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.calendar-field{position:relative;overflow:visible}
.calendar-popover{position:absolute;top:calc(100% + 16px);left:50%;z-index:70;width:min(660px,calc(100vw - 40px));padding:22px 26px 26px;transform:translateX(-50%);background:var(--white);border:1px solid #e2d8ce;border-radius:20px;box-shadow:0 18px 38px #28252024}
.calendar-popover[hidden]{display:none}
.calendar-toolbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:20px;text-align:center}
.calendar-toolbar p{margin:0;font-size:14px;font-weight:600;color:var(--ink)}
.calendar-step{width:36px;height:36px;border:1px solid #ddd2c8;border-radius:50%;background:var(--white);color:var(--coral);font-size:20px;line-height:1;cursor:pointer}
.calendar-step:last-child{justify-self:end}
.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.calendar-month h3{margin:0 0 16px;text-align:center;color:var(--ink);font:600 15px/1.25 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;text-transform:capitalize}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.calendar-weekdays{margin-bottom:6px;color:#746c63;font-size:11px}
.calendar-day,.calendar-blank{display:grid;place-items:center;min-width:0;height:36px;border:0;background:transparent;color:var(--ink);font:500 13px/1 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
.calendar-day{border-radius:50%;cursor:pointer}
.calendar-day:hover:not(:disabled){background:#f1e5dc}
.calendar-day:disabled{color:#bdb4ab;cursor:not-allowed}
.calendar-day.in-range{border-radius:0;background:#f5e0d5}
.calendar-day.selected{background:var(--coral);color:var(--white);font-weight:700}
.btn{background:var(--coral);color:#fffaf5;border-radius:100px;font-size:14px;font-weight:600;padding:12px 26px;min-height:46px;transition:background .2s}
.btn:hover{transform:none;filter:brightness(.94)}
.btn span{margin-left:20px;font-size:20px}
.btn-ghost{background:transparent;color:var(--coral);border:1px solid var(--coral)}
.btn-secondary{background:var(--coral)}
.search-note{font-size:11px;color:var(--muted);text-align:center;margin:13px 0 0}
.search-feedback{border:1px solid var(--line);background:var(--white);margin:0 0 24px;color:var(--coral);font-weight:600;font-size:14px;text-align:center}
.mobile-search-open{display:none}

/* Bob W typography match for the announcement/header and booking bar.
   Their proprietary "The Future" face is approximated with Avenir Next's
   matching geometric proportions while preserving a dependable fallback. */
.announcement,
.site-header,
.search-dock,
.search-dialog{
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
  font-style:normal;
  font-variant:normal;
}
.announcement{
  font-weight:500;
  line-height:1.2;
  letter-spacing:0;
}
.main-nav a,
.header-book{
  font-size:16px;
  font-weight:400;
  line-height:24px;
  letter-spacing:0;
}
.language a{
  font-weight:500;
  line-height:18px;
  letter-spacing:.2px;
}
.field label{
  font-size:12px;
  font-weight:400;
  line-height:16px;
}
.field input,
.field select{
  font-size:16px;
  font-weight:400;
  line-height:24px;
  letter-spacing:0;
}
.search-card .btn{
  font-size:16px;
  font-weight:400;
  line-height:24px;
  letter-spacing:0;
}
.intro-section{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center;padding-top:100px;padding-bottom:105px}
.intro-collage{position:relative;height:510px}
.intro-tall{position:absolute;right:0;top:0;width:62%;height:76%;object-fit:cover;box-shadow:-16px -16px 0 #a6b194;filter:brightness(1.06) contrast(.86) saturate(.86) sepia(.04)}
.intro-small{position:absolute;left:0;bottom:0;width:48%;height:62%;object-fit:cover;filter:brightness(1.12) contrast(.86) saturate(.86) sepia(.045)}
.intro-collage strong{position:absolute;left:34%;top:52%;color:var(--white);font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:44px;font-weight:600;font-stretch:normal;letter-spacing:-.02em;line-height:1.05;max-width:70%}
.handwritten{position:absolute;left:3%;top:17%;font-family:"Caveat","Snell Roundhand","Apple Chancery",cursive;font-size:42px;font-weight:600;line-height:1;letter-spacing:.01em;color:var(--coral);transform:rotate(-7deg);max-width:42%}
.intro-copy h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(27px,2.7vw,42px);line-height:1.12;letter-spacing:-.035em;margin:0 0 30px}
.intro-copy h2 em{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:5px;text-decoration-thickness:2px}
.intro-copy p{color:var(--muted);margin:0 0 30px;max-width:470px}
.section-nav{position:sticky;top:86px;z-index:30;background:var(--white);display:flex;justify-content:center;gap:42px;padding:18px 24px;border-bottom:1px solid #e7ded4}
.section-nav a{font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.section-nav a:first-child{color:var(--coral)}
.section{padding:72px 0 80px;scroll-margin-top:28px}
.section-head.centered{justify-content:center;text-align:center;margin-bottom:44px}
.section-head h2{color:var(--ink);font:400 clamp(32px,3.4vw,50px)/1.12 Georgia,serif;letter-spacing:-.045em}
.section-head p{font-size:14px;margin-top:18px}
.eyebrow,.section-head .eyebrow{font-size:10px;color:var(--ink);font-weight:700;letter-spacing:.08em;margin:0 0 16px}
.reasons{grid-template-columns:repeat(3,1fr);gap:24px}
.reason,.reason:nth-child(2),.reason:nth-child(3){padding:15px;background:var(--white);color:var(--ink);border-radius:8px;overflow:hidden}
.reason img{width:100%;height:240px;object-fit:cover;border-radius:7px}
.reason div{padding:20px 10px 14px}
.reason h3{font-size:21px;line-height:1.2;letter-spacing:-.045em;margin:0 0 12px}
.reason p{font-size:14px;color:var(--muted);opacity:1;line-height:1.55}
.essentials{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:64px;text-align:center;padding-top:40px;border-top:1px solid var(--line)}
.essentials span{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:13px}
.essentials b{font:400 34px/1 Georgia,serif;color:var(--coral);height:40px}
.collection-section{background:#eee3d6}
.collection-filters{display:flex;gap:8px;justify-content:center;margin-bottom:36px;flex-wrap:wrap}
.collection-filters button{background:transparent;border:1px solid #bcae9e;color:var(--ink);border-radius:100px;padding:11px 24px;cursor:pointer;font-size:12px}
.collection-filters button.active{background:var(--ink);border-color:var(--ink);color:white}
.property-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.property-card{border:0;border-radius:6px;background:var(--white);box-shadow:none}
.property-card:hover{transform:none;box-shadow:none}
.property-card[hidden]{display:none}
.card-image{aspect-ratio:1.18}
.card-body{padding:22px 22px 14px}
.card-kicker{font-size:10px;color:var(--muted);letter-spacing:.025em}
.card-kicker span:first-child{color:var(--coral);font-weight:700}
.card-body h3{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:22px;font-weight:600;font-stretch:normal;letter-spacing:-.02em;margin:12px 0;color:var(--ink);line-height:1.18}
.facts{gap:5px 7px;font-size:12px}
.card-actions{padding:0 22px 22px}
.compare-check{font-size:11px;font-weight:500}
.arrow-link{color:var(--coral)}
.compare-bar{border-radius:100px;background:var(--ink);font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:600;font-stretch:normal;letter-spacing:0;width:min(570px,90%)}
.compare-bar span,.compare-bar .btn{font-weight:600;letter-spacing:0}
.compare-bar.offscreen{display:none}
body.compare-page{padding:0}
.guest-reviews-section{padding:76px 0;background:#e9e4da;scroll-margin-top:30px}
.guest-reviews-section .section-head h2{font-size:clamp(32px,3.4vw,49px)}
.listing-ratings{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:30px}
.listing-rating{flex:1;min-width:150px;display:flex;flex-direction:column;gap:5px;border:1px solid #ccc3b6;border-radius:8px;padding:17px 18px;text-decoration:none;font-size:12px}
.listing-rating:hover{background:var(--white)}
.listing-rating>strong{font-size:28px;letter-spacing:-.04em}
.listing-rating small{font-size:13px;font-weight:400;color:var(--muted)}
.listing-rating>span:last-child{font-size:11px;color:var(--muted)}
.review-filter{display:flex;gap:16px;align-items:center;margin:0 0 24px;font-size:12px}
.review-filter select{border:1px solid #c8bdae;background:var(--white);color:var(--ink);border-radius:100px;padding:11px 38px 11px 17px;min-height:44px;max-width:100%}
.guest-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.guest-review{background:var(--white);border-radius:8px;padding:27px;display:flex;flex-direction:column;min-width:0}
.guest-review-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:var(--coral)}
.review-score{color:var(--ink);font-size:16px;font-weight:600;letter-spacing:.1em;white-space:nowrap}
.guest-review blockquote{margin:24px 0 28px;flex:1}
.guest-review blockquote p{margin:0;font:400 20px/1.45 Georgia,serif;color:var(--ink)}
.guest-review-author{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px}
.guest-review-author time{font-size:11px;color:var(--muted)}
.guest-review>a{margin-top:12px;font-size:11px;color:var(--coral);text-underline-offset:4px}
.reviews-disclosure,.reviews-verified{color:var(--muted);font-size:11px;line-height:1.6;margin:22px 0 0}
.reviews-verified{margin-top:7px}
.reviews-empty{font-size:14px;color:var(--muted)}
#property-reviews .guest-review-grid{grid-template-columns:1fr}
#property-reviews .listing-ratings{margin-top:22px}
#property-reviews .guest-review blockquote p{font:400 20px/1.5 Georgia,serif;color:var(--ink)}
#property-reviews .reviews-disclosure,#property-reviews .reviews-verified{font-size:11px}
@media(max-width:1000px){.guest-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-rating{flex:1 1 28%}}
@media(max-width:620px){.guest-reviews-section{padding:50px 0}.guest-review-grid{grid-template-columns:1fr;gap:18px}.guest-review{padding:23px}.listing-ratings{gap:9px}.listing-rating{flex:1 1 43%;padding:14px;min-width:0}.listing-rating>strong{font-size:24px}.review-filter{align-items:stretch;flex-direction:column;gap:8px}.review-filter select{font-size:16px}.guest-review blockquote p{font-size:21px}.guest-review>a{padding:8px 0}.reviews-disclosure{margin-top:20px}}

/* Amenities: two supplied Bob W benefit-section references, with verified LAVAL content. */
.benefits-v2{padding:44px 0 76px;background:var(--paper);scroll-margin-top:24px}
.benefits-v2>.shell{width:92%;max-width:1744px}
.benefits-heading{text-align:center;margin-bottom:48px}
.benefits-heading .eyebrow{margin-bottom:20px;font-size:11px;letter-spacing:0}
.benefits-v2 h2{font:400 36px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0;color:var(--ink)}
.benefits-v2 h2 em{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:6px;text-decoration-thickness:2px}
.benefit-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.benefits-v2 h3{font-size:20px;line-height:1.28;letter-spacing:-.035em;font-weight:600;margin:0 0 9px}
.benefits-v2 p:not(.eyebrow){font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.benefits-v2 .benefits-caption{margin:20px 0 0;text-align:center;font-size:11px}
.amenities-section{padding-top:100px}
.amenities-section>h2{text-align:center;margin-bottom:27px}
.amenities-tabs{display:flex;justify-content:center;gap:0;margin-bottom:24px}
.amenities-tabs [role=tab]{background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:17px 24px;min-height:48px;font-size:14px;font-weight:600;cursor:pointer}
.amenities-tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--coral)}
.amenities-tabs [role=tab]:hover{color:var(--coral)}
.amenities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.amenity-tile{display:flex;align-items:center;gap:24px;padding:27px 25px;background:var(--white);border-radius:8px;min-height:144px}
.amenity-icon{width:34px;height:34px;flex:0 0 34px;filter:invert(30%) sepia(49%) saturate(1501%) hue-rotate(337deg) brightness(90%) contrast(83%)}
.amenity-tile>div{min-width:0}
.amenity-tile h3{font-size:19px;margin-bottom:6px}
.amenities-section [role=tabpanel][hidden]{display:none}
.benefits-v2 .amenities-note{text-align:center;margin:0 0 24px;font-size:12px}
.amenity-extra{align-items:flex-start}
.amenity-extra .amenity-icon{margin-top:7px}
.amenity-extra details{margin-top:12px;font-size:11px}
.amenity-extra summary{color:var(--coral);cursor:pointer;line-height:1.5;min-height:26px}
.amenity-extra details ul{margin:8px 0 0;padding-left:16px;line-height:1.8}
.amenity-extra details a{font-size:12px;text-underline-offset:3px}
@media(max-width:1350px){.amenity-tile{padding:24px 18px;gap:15px}.amenity-tile h3{font-size:17px}.amenity-icon{width:30px;height:30px;flex-basis:30px}.benefits-v2 h3{font-size:18px}}
@media(max-width:1050px){.benefit-photo-grid,.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity-tile{min-height:135px}.benefits-v2 h3{font-size:20px}.amenities-section{padding-top:75px}}
@media(max-width:620px){.benefits-v2{padding:38px 0 55px}.benefits-v2>.shell{width:calc(100% - 40px)}.benefits-heading{margin-bottom:28px}.benefits-v2 h2{font-size:30px;line-height:1.2}.benefits-heading .eyebrow{font-size:10px;margin-bottom:17px}.benefit-photo-grid,.amenities-grid{grid-template-columns:1fr;gap:18px}.benefits-v2 h3{font-size:20px}.benefits-v2 .benefits-caption{text-align:left;line-height:1.6}.amenities-section{padding-top:60px}.amenities-section>h2{margin-bottom:22px}.amenities-tabs [role=tab]{padding:15px 22px;font-size:13px}.amenity-tile{padding:25px 21px;gap:22px;min-height:135px}.amenity-tile h3{font-size:18px}.amenity-icon{width:32px;height:32px;flex-basis:32px}.benefits-v2 .amenities-note{text-align:left}.amenity-extra summary{min-height:36px;padding-top:5px}}
.destination-section{display:grid;grid-template-columns:1fr 1fr;min-height:550px;background:#e0e5d7}
.destination-section>img{width:100%;height:100%;max-height:640px;object-fit:cover}
.destination-section>div{padding:80px 13%;align-self:center}
.destination-section h2{font-size:clamp(38px,4vw,60px);line-height:1.02;letter-spacing:-.06em;margin:0 0 25px}
.destination-section p:not(.eyebrow){margin-bottom:26px;color:#565c4c}
.host-section{padding:100px 0;background:var(--white)}
.host-section .eyebrow{margin:0 0 28px;color:var(--coral)}
.host-copy{display:grid;grid-template-columns:168px minmax(230px,.75fr) minmax(0,1.15fr);gap:6%;align-items:start}
.host-photo{width:168px;aspect-ratio:1;object-fit:cover;border-radius:50%}
.host-copy h2{margin:0;font:400 clamp(34px,4vw,58px)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.045em;color:var(--ink)}
.host-copy h2 em{font-style:italic}
.host-copy p{margin:0 0 18px;max-width:680px;color:var(--muted);font-size:16px;line-height:1.65}
.host-copy p:last-child{margin-bottom:0}
@media(max-width:700px){.host-section{padding:58px 0}.host-copy{grid-template-columns:1fr;gap:25px}.host-photo{width:118px}.host-copy h2{font-size:36px}.host-copy p{font-size:15px;line-height:1.6}}
.footer{background:var(--paper);color:var(--ink);padding:80px 0 36px}
.footer-invite{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding-bottom:50px;margin-bottom:50px}
.footer-invite h2{font-size:clamp(30px,3.5vw,50px);font-weight:700;letter-spacing:-.05em;margin:0}
.footer-invite h2 em{display:block}
.footer img{filter:brightness(0);width:190px}
.footer p{color:var(--muted);max-width:450px;font-size:12px}
.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 50px}
.footer a{color:var(--ink);font-size:13px;text-decoration:none}
.footer-contact{display:flex!important;align-items:center;gap:10px;margin-top:22px}
.footer-contact a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;color:var(--ink);transition:background .18s ease,color .18s ease}
.footer-contact a:hover{background:var(--coral);border-color:var(--coral);color:white}
.footer-contact svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-payments{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;margin-top:42px;padding-top:30px;border-top:1px solid var(--line)}
.footer-payments h2{flex:0 0 auto;margin:0;font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap}
.payment-methods{display:flex;flex:0 1 406px;min-width:0;flex-wrap:nowrap;justify-content:flex-start;gap:8px;list-style:none;padding:0;margin:0}
.payment-methods li{display:flex;align-items:center;justify-content:flex-start;flex:1 1 38px;min-width:0;margin:0;padding:0}
.footer .payment-methods img{display:block;width:100%;max-width:38px;height:auto;aspect-ratio:38/24;object-fit:contain;filter:none}
@media(max-width:620px){.footer-payments{margin-top:32px;padding-top:24px}.footer-payments h2{font-size:10px}}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font-size:10px;color:var(--muted)}
.property-hero{height:560px;position:relative;display:grid;place-items:center;color:white;text-align:center;isolation:isolate}
.property-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.property-card img[src*="/2128248/"],.property-hero>img[src*="/2128248/"],.gallery-grid img[src*="/2128248/"],#gallery-image[src*="/2128248/"]{filter:brightness(1.13) contrast(.92) saturate(.96)}
.property-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(#17130b99,#17130b70 40%,#17130b80);z-index:-1}
.property-hero-content{padding:100px 24px 35px;max-width:880px}
.property-hero-content p{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.property-hero-content p:last-of-type{margin-bottom:22px;text-transform:none;letter-spacing:0}
.property-hero h1{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:clamp(30px,3.5vw,52px);font-weight:600;font-stretch:normal;line-height:1.08;letter-spacing:-.02em;text-transform:uppercase;margin:16px 0 24px}
.hero-gallery-link{background:transparent;border:0;color:white;text-decoration:underline;text-underline-offset:5px;cursor:pointer;font-size:14px}
.property-title{display:flex;align-items:center;gap:25px;flex-wrap:wrap;padding:16px 0 28px}
.property-title h2{margin:0;font-size:25px;letter-spacing:-.04em}
.property-title .eyebrow{margin:0}
.property-title .facts{font-size:13px}
.breadcrumb{font-size:11px;padding-top:24px}
.gallery-grid{border-radius:6px;grid-template-rows:160px 160px;gap:8px}
.gallery-all{border-radius:100px;font-size:12px;color:var(--ink)}
.property-highlights{margin:38px 0 18px;padding:20px 24px;background:#ad7165;color:white}
.property-highlights-inner{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:18px}
.property-highlight{min-width:0;display:grid;justify-items:center;gap:7px;text-align:center}
.property-highlight img{display:block;width:26px;height:26px;object-fit:contain;filter:brightness(0) invert(1);opacity:.98}
.property-highlight strong{min-height:29px;font-size:28px;font-weight:500;line-height:1}
.property-highlight span{font-size:14px;line-height:1.25}
.content-block h2{font:400 30px/1.15 Georgia,serif;letter-spacing:-.035em}
.content-block h3{font-size:15px}
.content-block{padding:32px 0}
.content-block p,.content-block ul{color:var(--muted);font-size:14px}
.booking-card{top:110px;border:0;border-radius:8px;box-shadow:none;background:var(--white);padding:24px}
.booking-card h2{font:400 27px/1.15 Georgia,serif;margin-bottom:18px}
.booking-card p{font-size:12px}
.widget-shell{padding:0;background:transparent}
.widget-label{padding:14px 0;border-top:1px solid var(--line)}
.widget-shell iframe{max-width:100%}
.notice{background:#efe3d5;border-radius:4px;border-left-color:var(--coral)}
.review{background:#f1e7dc;border-radius:6px}
.gallery-dialog{background:#24221e;border-radius:8px}
.gallery-dialog::backdrop{background:#17140fde}
.compare-page .site-header{margin-bottom:0}
body.compare-page main{padding-top:20px}
.compare-table-wrap{border-radius:7px}
.compare-page h1{font-family:Georgia,serif;font-weight:400}
.search-dialog{background:var(--white);color:var(--ink);border:0;padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;margin:0}
.search-dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;gap:14px}
.search-dialog h2{font:400 29px/1.15 Georgia,serif;margin:0}
.close-search{border:1px solid var(--line);background:transparent;border-radius:50%;width:44px;height:44px;font-size:24px;color:var(--coral);cursor:pointer;flex-shrink:0}
.search-dialog::backdrop{background:#221b1480}
@media(min-width:1600px){.home-hero h1{font-size:64px}}
@media(max-width:1100px){.main-nav{gap:18px}.main-nav a{font-size:14px}.nav-wrap{gap:12px}.header-book{padding:10px 14px}.intro-collage{height:420px}.intro-collage strong{font-size:35px}.reason img{height:190px}.property-layout{gap:30px}.brand img{width:160px}.home-page .brand img{width:212px}}
@media(max-width:900px){.main-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;border:0;background:transparent;padding:10px;width:40px;height:44px;color:inherit}.menu-toggle span{width:22px;height:1px;background:currentColor}.main-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;padding:30px 6%;flex-direction:column;align-items:flex-start;background:var(--paper);color:var(--ink);box-shadow:0 10px 20px #0001}.main-nav.open a{font-size:20px;padding:9px}.hero-caption{bottom:135px}.intro-section{gap:7%}.intro-collage{height:370px}.intro-collage strong{font-size:30px}.handwritten{font-size:23px}.section-nav{gap:25px;justify-content:flex-start;overflow-x:auto}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reasons{gap:16px}.reason{padding:10px}.reason img{height:150px}.reason h3{font-size:18px}.reason div{padding:15px 6px}.property-layout{grid-template-columns:1fr}.booking-card{position:static}.mobile-book{background:var(--coral);bottom:15px;border-radius:100px}.mobile-book.calendar-visible{display:none}.search-card{grid-template-columns:1fr 1fr 1fr 1fr}.field{padding:10px 15px}.search-card .btn{grid-column:auto}.footer nav{gap:16px 24px}.destination-section>div{padding:55px 10%}}
@media(max-width:620px){
 html{scroll-padding-top:120px}.shell{width:calc(100% - 40px)}.announcement{height:32px;font-size:12px;letter-spacing:.035em}
 .site-header,.header-inner{height:72px;min-height:0}.site-header{margin-bottom:-72px}.brand img{width:132px}.home-page .brand img{width:180px}.header-inner{gap:10px}.nav-wrap{gap:10px}.header-book{display:none}.language a{display:grid;place-items:center;font-size:13px;min-width:29px;min-height:40px;opacity:.85}.language{gap:2px}.menu-toggle{width:30px;padding:3px}
 .home-hero{height:calc(80svh - 32px);min-height:510px;max-height:760px}.home-hero h1{font-size:clamp(28px,7.4vw,40px);max-width:370px;line-height:1.12}.hero-copy{padding:90px 23px}.hero-photo{object-position:58% center}.hero-controls{bottom:75px;gap:7px}.slide-dot{width:61px}.slide-pause{margin-left:12px}.hero-caption{bottom:50px;font-size:9px;right:20px}
 .search-dock{margin-top:-33px;width:calc(100% - 40px)}.search-dock>#search-panel{display:none}.mobile-search-open{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--line);border-radius:100px;background:var(--white);padding:9px 10px 9px 24px;text-align:left;color:var(--ink);box-shadow:0 7px 18px #3828190d}.mobile-search-open strong{font-size:14px;font-weight:600}.mobile-search-open small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.search-circle{display:grid;place-items:center;background:var(--coral);color:white;font-size:29px;width:48px;height:48px;border-radius:50%}
 .search-dialog .search-card{display:flex;flex-direction:column;gap:18px;padding:0;box-shadow:none;border-radius:0}.search-dialog .field{border-radius:100px;padding:15px 24px}.search-dialog .field input,.search-dialog .field select{min-height:32px;font-size:16px}.search-dialog .btn{margin-top:12px;min-height:56px}.search-dialog .search-note{text-align:left;font-size:12px;line-height:1.5;margin-top:24px}.calendar-popover{position:fixed;top:96px;left:20px;right:20px;width:auto;max-height:calc(100svh - 120px);padding:18px;transform:none;overflow:auto}.calendar-months{grid-template-columns:1fr;gap:26px}.calendar-months .calendar-month:nth-child(2){display:none}
 .intro-section{display:block;padding-top:74px;padding-bottom:54px}.intro-collage{height:360px;margin:0 5px 45px}.intro-tall{width:60%;height:72%;box-shadow:-12px -12px 0 #a6b194}.intro-small{width:48%;height:62%}.intro-collage strong{font-size:31px;top:55%;left:34%;max-width:65%}.handwritten{font-size:23px;top:17%}.intro-copy h2{font-size:30px}.intro-copy p{font-size:14px;margin-bottom:25px}.intro-copy h2{margin-bottom:22px}
 .section-nav{top:72px;padding:15px 20px;gap:28px}.section-nav a{font-size:11px}.section{padding:50px 0}.section-head.centered{margin-bottom:30px}.section-head h2{font-size:33px}.section-head .eyebrow{font-size:9px;letter-spacing:.045em}.section-head p{font-size:13px}
 .reasons{grid-template-columns:1fr;gap:18px}.reason{padding:14px}.reason img{height:220px}.reason div{padding:20px 8px 10px}.reason h3{font-size:23px}.reason p{font-size:14px}.essentials{grid-template-columns:1fr 1fr;gap:30px 15px;margin-top:38px;padding-top:30px}.essentials span{font-size:12px;gap:10px}
 .property-grid{grid-template-columns:1fr;gap:24px}.card-image{aspect-ratio:1.2}.card-body h3{font-size:23px}.card-body{padding:20px 20px 14px}.card-actions{padding:0 20px 20px}.collection-filters{gap:6px;margin-bottom:28px}.collection-filters button{font-size:10px;padding:10px 14px}.destination-section{grid-template-columns:1fr}.destination-section>img{height:320px}.destination-section>div{padding:42px 25px 50px}.destination-section h2{font-size:42px}
 .location-map-head{display:block}.location-map iframe{height:230px}.location-radius{width:120px}
 .footer{padding:50px 0 28px}.footer-invite{display:block;padding-bottom:35px;margin-bottom:35px}.footer-invite h2{font-size:34px;margin-bottom:24px}.footer-inner{display:block}.footer nav{margin-top:35px;grid-template-columns:1fr 1fr;gap:18px}.footer-contact{margin-top:22px}.footer p{font-size:12px}.footer a{font-size:12px}.footer-bottom{margin-top:32px}.footer img{width:155px}
 .property-hero{height:470px}.property-hero h1{font-size:33px}.property-hero-content{padding-top:100px}.property-hero-content p{font-size:10px}.property-title{display:block;padding:6px 0 20px}.property-title h2{font-size:26px;margin-bottom:8px}.property-title .eyebrow{margin-bottom:8px}.property-title .facts{font-size:12px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 110px}.property-highlights{margin:28px 0 10px;padding:18px 20px}.property-highlights-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px}.property-highlight img{width:26px;height:26px}.property-highlight strong{font-size:24px}.property-highlight span{font-size:13px}.property-layout{padding:30px 0 65px}.content-block h2{font-size:28px}.booking-card{padding:20px 14px}.gallery-dialog{width:100%;max-width:100%;height:100svh;max-height:100svh;border-radius:0}.compare-bar{bottom:10px;border-radius:14px;gap:8px;padding:10px 12px}.compare-bar span{font-size:11px}.compare-bar .btn{font-size:12px}
}
