:root{--paper:#faf8f4;--sand:#f1ebe1;--ink:#2b2724;--muted:#6e6659;--accent:#a9512e;--line:#e4ddd1;--serif:Newsreader,Georgia,serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.75 Inter,system-ui,sans-serif}a{color:#914326;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto;border-radius:8px}h1,h2,h3,.brand{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(2.65rem,5.5vw,5rem);letter-spacing:-.035em;margin:.7rem 0 1.5rem}h2{font-size:clamp(2rem,3.5vw,3.1rem);letter-spacing:-.02em;margin:0 0 1.25rem}h3{font-size:1.65rem;margin:0 0 1rem}p{margin:0 0 1.2rem}ul{padding-left:1.3rem}li{margin:.45rem 0}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.narrow{max-width:760px}.section{padding:76px 0}.tint{background:var(--sand)}.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:.9rem;font-weight:600}.intro{font-size:1.15rem;color:var(--muted);max-width:680px}.muted{color:var(--muted)}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,248,244,.98);border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:1.85rem;color:var(--ink);text-decoration:none;white-space:nowrap}.brand small{display:block;font: .68rem/1.5 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.22em;margin-top:4px}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{color:var(--ink);text-decoration:none;font-size:.9rem}.main-nav a[aria-current=page],.main-nav a:hover{color:#914326;text-decoration:underline}.button,.main-nav .button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:white;padding:12px 22px;border:1px solid var(--accent);border-radius:3px;text-decoration:none;font-size:.95rem;font-weight:600;line-height:1.5;min-height:48px}.button:hover{background:var(--brand-cta);color:white}.button:active{transform:translateY(1px)}.booking-panel-cta .button{font-size:1.02rem;font-weight:700}.button.secondary{background:transparent;color:var(--ink);border-color:#a69b8d}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px}.menu-toggle{display:none}.hero{padding:45px 0 65px}.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}.hero-photo{aspect-ratio:1.05;object-fit:cover}.photo-note{margin:.6rem 0 0;font-size:.85rem;color:var(--muted)}.facts{display:flex;flex-wrap:wrap;gap:12px 25px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:.9rem}.offer{--notch:9px;position:relative;padding:16px 20px;border-left:3px solid var(--accent);background:var(--sand);margin-top:25px}.offer::before,.offer::after{content:'';position:absolute;top:48px;width:calc(var(--notch)*2);height:calc(var(--notch)*2);margin-top:calc(var(--notch)*-1);background:#fff;border-radius:50%}.offer::before{left:calc(var(--notch)*-1)}.offer::after{right:calc(var(--notch)*-1)}.offer p{margin:0}.offer small,.offer .offer-note{display:block;color:var(--muted);font-size:.85rem;margin-top:12px;padding-top:12px;border-top:2px dashed rgba(169,81,46,.3)}.offer small em{font-style:normal;font-weight:700;color:var(--ink)}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split img{width:100%;aspect-ratio:1.2;object-fit:cover}.feature-list{list-style:none;padding:0}.feature-list li{border-bottom:1px solid var(--line);padding:12px 0}.feature-list strong{display:block}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.section-heading h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border:1px solid var(--line);background:#fffdf9;display:flex;flex-direction:column;padding:26px}.card p:last-child{margin-bottom:0}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{text-decoration:underline}.card .read-link{margin-top:auto;font-weight:600}.card img{aspect-ratio:1.5;object-fit:cover;margin-bottom:20px;width:100%}.text-card .eyebrow{font-size:.75rem}.quote{font:1.65rem/1.5 var(--serif);margin:0}.quote cite{display:block;font: .85rem/1.7 Inter,system-ui,sans-serif;margin-top:18px;color:var(--muted);font-style:normal}.site-footer{padding:50px 0 25px;border-top:1px solid var(--line);background:var(--sand)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer-grid h2{font:600 1rem/1.5 Inter,system-ui,sans-serif}.footer-links{list-style:none;margin:0;padding:0}.footer-bottom{border-top:1px solid #d9cfc1;margin-top:35px;padding-top:18px;font-size:.8rem;color:var(--muted)}.breadcrumbs{font-size:.85rem;color:var(--muted);margin:28px 0}.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;gap:8px;padding:0}.breadcrumbs li:not(:last-child)::after{content:'/';margin-left:8px;color:var(--muted)}.page-head{padding:25px 0 45px}.page-head h1{max-width:950px}.topic-nav{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:65px;align-items:start}.article-body{font-size:1.0625rem}.article-body h2{font-size:2rem;margin:2.5rem 0 1rem}.article-body h3{margin:2rem 0 1rem}.article-body blockquote{border-left:3px solid var(--accent);padding:.5rem 1.4rem;margin:1.5rem 0;background:var(--sand)}.article-aside{position:sticky;top:120px;background:var(--sand);padding:24px}.article-aside h2{font-size:1.6rem}.article-aside img{margin-bottom:18px;aspect-ratio:1.3;object-fit:cover}.article-cover{margin:0 0 28px}.article-cover img{max-height:440px;width:100%;object-fit:cover}.article-cover figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}.stay-note{padding:28px;background:var(--sand);margin-top:35px}.stay-note h2{font-size:1.8rem;margin-top:0}.booking-panel{padding:32px;border:1px solid var(--line);background:white;border-radius:8px;box-shadow:0 1px 0 rgba(43,39,36,.04),0 24px 48px -32px rgba(43,39,36,.22)}.booking-panel h2{font-size:2.4rem}.booking-frame{min-height:500px;margin-top:20px}.booking-help{border-top:1px solid var(--line);padding-top:18px;font-size:.9rem}.booking-help a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;margin:0 8px 8px 0;border:1px solid #a69b8d;border-radius:3px;color:var(--ink);font-weight:600;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.booking-help a:hover{background:var(--ink);border-color:var(--ink);color:#fff}.gallery-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-preview>a{min-width:0}.gallery-preview img{width:100%;height:300px;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:24px}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:1.35;object-fit:cover;width:100%}.photo-button{padding:0;border:0;background:transparent;width:100%;text-align:left}.gallery-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:#914326;font-weight:600;padding:18px 0}.lightbox{border:0;background:var(--paper);padding:20px;max-width:min(1100px,95vw);max-height:92vh}.lightbox::backdrop{background:#211d19d9}.lightbox img{max-height:72vh;max-width:100%;object-fit:contain;margin:auto}.lightbox button{float:right;margin-bottom:12px;border:1px solid var(--line);padding:8px 16px;background:white}.lightbox p{clear:both;margin:15px 0 0}.faq details{border-top:1px solid var(--line);padding:0}.faq summary{cursor:pointer;font-weight:600;padding:18px 0;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}.faq details p{margin:0 0 18px;padding-right:34px}.faq h3{font:600 .85rem/1.5 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:28px 0 6px}

/* Accordion disclosure: replace the browser's default triangle with a custom
   chevron that rotates on open, across every <details> group on the site. */
summary::-webkit-details-marker{display:none}
summary::marker{content:''}
details>summary{list-style:none}
.faq summary::after,.booking-questions summary::after,.nearby-details summary::after,.gallery-details summary::after{content:'';flex:0 0 auto;width:11px;height:11px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .22s ease}
details[open]>summary::after{transform:rotate(-135deg)}.booking-questions details>summary::after{width:24px;height:24px;border:1px solid var(--line);border-radius:50%;background:linear-gradient(var(--accent),var(--accent)) center/10px 2px no-repeat,linear-gradient(var(--accent),var(--accent)) center/2px 10px no-repeat,var(--paper);transform:none}.booking-questions details[open]>summary::after{transform:rotate(45deg);background:linear-gradient(var(--accent),var(--accent)) center/10px 2px no-repeat,var(--paper)}.booking-questions details p{max-width:62ch}
/* Opening feels deliberate rather than an instant snap. */
.faq details>p,.faq details>ul,.booking-questions details>p{animation:faq-in .2s ease}
@keyframes faq-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .faq summary::after,.booking-questions summary::after,.nearby-details summary::after,.gallery-details summary::after{transition:none}
  .faq details>p,.faq details>ul,.booking-questions details>p{animation:none}
  .booking-questions details>summary::after{transition:none}
}.skip-link{position:absolute;left:12px;top:-100px;padding:12px;background:white;z-index:100}.skip-link:focus{top:12px}.notice{padding:20px;background:var(--sand);border-left:3px solid var(--accent)}.site-map-list{columns:2}.site-map-list li{break-inside:avoid}.article-links{border-top:1px solid var(--line);padding-top:25px}.article-links li{margin:10px 0}.mobile-booking{display:none}@media(min-width:1000px){.hero h1{max-width:600px}}@media(max-width:1000px){.main-nav{gap:15px}.article-layout{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.hero-grid{gap:30px}.split{gap:35px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:780px){html{scroll-padding-top:95px}.header-inner{min-height:78px;flex-wrap:wrap;padding:14px 0;gap:12px}.brand{font-size:1.6rem}.menu-toggle{display:block;border:1px solid var(--line);padding:8px 14px;background:transparent}.main-nav{width:100%;display:flex;flex-wrap:wrap;gap:15px;padding-top:10px}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.hero-grid,.split,.article-layout{grid-template-columns:1fr}.hero{padding:28px 0 45px}.hero-photo{aspect-ratio:1.35}.section{padding:48px 0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.article-aside{position:static}.article-aside img{display:none}.gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-preview img{height:230px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--paper);padding:10px 24px;border-top:1px solid var(--line)}.mobile-booking .button{width:100%;min-height:44px}.site-footer{padding-bottom:90px}}@media(max-width:520px){.wrap{width:calc(100% - 36px)}.cards,.footer-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:12px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-panel{padding:20px 12px}.page-head{padding-top:5px}.actions .button{width:100%}.site-map-list{columns:1}.hero-photo{aspect-ratio:1.2}h1{font-size:2.65rem}.article-body h2{font-size:1.75rem}.facts{gap:8px 18px}.footer-grid>div:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Homepage: bright photography and a solid booking panel. */
.landing{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px 36px;padding-top:32px;padding-bottom:42px;align-items:start}
.landing-copy{grid-column:1;grid-row:1}
.landing-copy h1{font-size:clamp(2.8rem,4.6vw,4.7rem);line-height:1.02;letter-spacing:-.035em;margin:12px 0 16px}
.landing-copy h1 em{font-weight:inherit;font-style:normal;color:var(--accent)}
.landing-copy>p:last-child{font-size:1.05rem;max-width:560px;margin:0}
.landing-photo{grid-column:1;grid-row:2;margin:0;position:relative;overflow:hidden;border-radius:8px}
.landing-photo>img{display:block;width:100%;height:340px;object-fit:cover;object-position:center 55%}
.photo-tour-link{position:absolute;bottom:16px;left:16px;background:var(--paper);color:var(--ink);padding:11px 16px;text-decoration:none;font-size:.85rem;border-radius:4px}
.landing-booking{grid-column:2;grid-row:1/3;background:#fffdf9;border:1px solid var(--line);border-radius:8px;padding:28px;align-self:end}
.landing-booking h2{font-size:2.35rem;line-height:1.08;margin:14px 0 22px}
.landing-booking .eyebrow{font-size:.7rem}
.stay-facts{list-style:none;padding:0;margin:0 0 24px}
.stay-facts li{display:flex;flex-direction:column;padding:12px 0;border-top:1px solid var(--line);margin:0}
.stay-facts strong{font-size:.95rem}.stay-facts span{font-size:.8rem;color:var(--muted);margin-top:3px}
.landing-booking .button{width:100%;min-height:48px}
.booking-caption{font-size:.8rem;color:var(--muted);line-height:1.5;margin:12px 0 20px}
.landing-offer{padding:16px;background:var(--sand);font-size:.85rem;border-radius:4px}
.landing-offer span{display:block;font-size:.78rem;margin-top:5px;line-height:1.5}
.host-help{display:block;font-size:.82rem;margin-top:20px}
.landing-proof{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.85rem;border-bottom:1px solid var(--line);padding-bottom:24px}
.landing-proof p{margin:0}.landing-proof span{display:block;color:var(--muted);font-size:.8rem;margin-top:5px}
.home-location{padding:36px 0}
.home-location-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:center}
.home-location-copy .eyebrow{margin-bottom:8px}
.home-location-copy h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 12px}
.home-location-copy p:not(.eyebrow){max-width:42ch;color:var(--muted);margin:0 0 14px}
.home-location-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.home-location-map{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--sand);box-shadow:0 2px 10px rgba(43,39,36,.08)}
.home-location-map iframe{display:block;width:100%;height:270px;border:0}
.property-location-map-panel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:28px;align-items:center;margin-top:24px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.property-location-map-copy .eyebrow{margin:0 0 6px}
.property-location-map-copy h3{margin:0 0 8px;font-size:1.35rem}
.property-location-map-copy p:last-child{margin:0;color:var(--muted)}
.property-location-map{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--sand)}
.property-location-map iframe{display:block;width:100%;height:250px;border:0}
@media(max-width:900px){.landing{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.landing-booking{padding:22px}.landing-photo>img{height:320px}.landing-copy h1{font-size:3rem}}
@media(max-width:680px){.landing{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:22px}.landing-copy,.landing-photo,.landing-booking,.landing-proof{grid-column:1;grid-row:auto}.landing-copy h1{font-size:clamp(2.3rem,8.5vw,3.4rem);margin:10px 0 12px}.landing-copy>p:last-child{font-size:.95rem}.landing-photo>img{height:auto;aspect-ratio:1.55}.landing-booking{padding:22px}.landing-booking h2{font-size:1.9rem;margin:8px 0 16px}.landing-booking h2 br{display:none}.stay-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.stay-facts li:last-child{display:none}.landing-proof{display:block}.landing-proof>a{display:inline-block;margin-top:12px}.photo-tour-link{bottom:12px;left:12px;font-size:.78rem}.property-location-map-panel{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.property-location-map iframe{height:230px}}
@media(max-width:680px){.home-location{padding:34px 0}.home-location-grid{grid-template-columns:minmax(0,1fr);gap:18px}.home-location-map iframe{height:230px}}

/* Host portraits on Meet Your Hosts page */
.host-portrait-wrap{margin:0 0 20px;text-align:left}
.host-portrait{width:160px;height:160px;object-fit:cover;border:3px solid var(--sand);box-shadow:0 4px 12px rgba(43,39,36,.08);display:block}

/* Guide interactive map & stop cards */
/* Nearby places uses independent category toggles and a swipeable detail viewer. */
.nearby-section [hidden]{display:none!important}
.nearby-section{scroll-margin-top:100px}
.nearby-layout{align-items:start}
.nearby-regional-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);margin-top:28px}
.nearby-list{min-width:0;display:grid;gap:14px}
.nearby-category-intro{padding:16px 18px;background:var(--sand);border:1px solid var(--line);border-radius:8px}
.nearby-category-intro .eyebrow{margin:0 0 5px;font-size:.72rem}
.nearby-category-intro h3{margin:0 0 6px;font-size:1.35rem}
.nearby-category-intro p:last-child{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.nearby-ready .nearby-local-list{max-height:640px;overflow-y:auto;padding:3px 8px 3px 3px;scrollbar-gutter:stable}
.nearby-card{padding:18px}
.nearby-card:hover,.nearby-card.is-hovered{border-color:var(--ink);box-shadow:0 2px 10px #2b272418}
.nearby-card[data-category="stay"] .map-category-badge{color:#a9512e}
.nearby-card-header{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.nearby-card-header .map-stop-num{flex-shrink:0}
.nearby-card h3{font-size:1.15rem;margin:4px 0 0;line-height:1.3}
.nearby-card .map-category-badge{font-size:.68rem}
.nearby-card[data-category="essentials"] .map-category-badge{color:#2f6b4f}
.nearby-card[data-category="fitness"] .map-category-badge{color:#087f8c}
.nearby-card[data-category="wellness"] .map-category-badge{color:#7353a6}
.nearby-card[data-category="entertainment"] .map-category-badge{color:#a7432d}
.nearby-card[data-category="regional"] .map-category-badge{color:var(--nearby-pin,#8a570c);background:var(--nearby-pastel,#f4ecd9);border-color:color-mix(in srgb,var(--nearby-pin,#8a570c) 28%,white)}
.nearby-card-body{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start}
.nearby-card p{font-size:.85rem;margin:0 0 10px;line-height:1.5}
.nearby-card .nearby-address{color:var(--muted);font-size:.78rem;margin-top:-3px}
.nearby-thumb img{width:100%;height:90px;object-fit:contain;background:#fff}
.nearby-open{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;font-weight:600;color:var(--accent)}
.nearby-details{margin-top:12px}
.nearby-details summary{cursor:pointer;min-height:44px;padding:10px 0}
.nearby-modal-ready .nearby-details{display:none}
.nearby-section:not(.nearby-ready) .nearby-carousel-controls{display:none}
.nearby-sidebar{min-width:0;display:grid;gap:20px;position:sticky;top:96px}
.nearby-overview{min-width:0;padding:18px;background:#f7f2e9;border:1px solid var(--line);border-radius:8px}
.nearby-overview .eyebrow{font-size:.72rem;margin:0}
.nearby-map-hint{font-size:.85rem;color:var(--muted);margin:8px 0}
.nearby-map-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px}
.nearby-filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--nearby-pin,#71675f) 28%,white);border-radius:999px;background:var(--nearby-pastel,#f2eee8);color:#302a25;font:inherit;font-weight:600;font-size:.76rem;line-height:1.25;text-align:center;cursor:pointer;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}
.nearby-filter-chip:hover{transform:translateY(-1px);box-shadow:0 2px 7px rgba(43,39,36,.12)}
.nearby-filter-chip.is-active,.nearby-filter-chip[aria-pressed="true"]{border-color:var(--nearby-pin,#71675f);box-shadow:inset 0 0 0 1px var(--nearby-pin,#71675f);font-weight:700}
.nearby-filter-chip:focus-visible{outline:3px solid #2b2724;outline-offset:2px}
.nearby-category-essentials{--nearby-pin:#2f6b4f}
.nearby-category-essentials.nearby-filter-chip{--nearby-pastel:#e4f0e8}
.nearby-category-stay{--nearby-pin:#a9512e}
.nearby-category-stay.nearby-filter-chip{--nearby-pastel:#f5e7df}
.nearby-category-fitness{--nearby-pin:#087f8c}
.nearby-category-fitness.nearby-filter-chip{--nearby-pastel:#e0f0f1}
.nearby-category-wellness{--nearby-pin:#7353a6}
.nearby-category-wellness.nearby-filter-chip{--nearby-pastel:#eee8f6}
.nearby-category-entertainment{--nearby-pin:#a7432d}
.nearby-category-entertainment.nearby-filter-chip{--nearby-pastel:#f5e6df}
.nearby-category-regional{--nearby-pin:#8a570c}
.nearby-category-regional.nearby-filter-chip{--nearby-pastel:#f4ecd9}
.nearby-category-regional.nearby-trip-raglan-day-trip{--nearby-pin:#376d7c;--nearby-pastel:#e3eff1}
.nearby-category-regional.nearby-trip-north-waikato-day-trip{--nearby-pin:#52724e;--nearby-pastel:#e8f0e4}
.nearby-category-regional.nearby-trip-east-waikato-day-trip{--nearby-pin:#956634;--nearby-pastel:#f4ebdc}
.nearby-category-regional.nearby-trip-waitomo-cambridge-day-trip{--nearby-pin:#685b88;--nearby-pastel:#eee9f5}
.nearby-marker-board{position:relative;width:100%;aspect-ratio:4/3;min-height:320px;margin:8px 0;background:linear-gradient(90deg,transparent 49.8%,#e4ddd1 50%,transparent 50.2%),repeating-linear-gradient(0deg,transparent,transparent 72px,#e4ddd1 73px,transparent 74px);border-radius:8px}
.nearby-leaflet-map{position:absolute;inset:0;z-index:1;width:100%;height:100%;border-radius:8px;overflow:hidden}
.nearby-leaflet-map .leaflet-container{width:100%;height:100%;background:var(--sand)}
.nearby-leaflet-map[hidden]{display:none}
.nearby-leaflet-map .leaflet-marker-icon{position:absolute}
.nearby-cluster{display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--ink);box-shadow:0 2px 8px rgba(43,39,36,.35);color:#fff;text-align:center;font:700 .9rem/1 Inter,system-ui,sans-serif}
.nearby-cluster span{display:grid;place-items:center;width:100%;height:100%}
.nearby-leaflet-pin{background:var(--nearby-pin,var(--accent));border:3px solid #fff;border-radius:50%;box-shadow:0 2px 6px #2b272420;color:#fff;height:38px;width:38px;display:grid;place-items:center;font:700 .85rem/1 Inter,system-ui,sans-serif;transition:box-shadow .15s ease}
.nearby-leaflet-pin span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;text-align:center}
.nearby-leaflet-pin.is-hovered,.nearby-leaflet-pin:hover,.nearby-leaflet-pin.is-active{color:#fff!important;border-color:#fff!important;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink),0 4px 12px rgba(0,0,0,.45)!important;z-index:1000!important}
/* Hover/active changes colour and lift only — never the pin's rendered size, so
   pins stay visually identical at every zoom level. */
.nearby-leaflet-map .leaflet-tooltip.nearby-pin-tooltip{background:var(--ink);border:0;border-radius:6px;color:#fff;font:600 .78rem/1.3 Inter,system-ui,sans-serif;padding:5px 9px;white-space:nowrap}
.nearby-leaflet-map .leaflet-tooltip.nearby-pin-tooltip::before{border-top-color:var(--ink)}
.nearby-marker-board:not(.nearby-leaflet-ready) .nearby-leaflet-map{display:none}
.nearby-marker-board.nearby-leaflet-ready{background:var(--sand)}
/* Leaflet markers must paint above the tile pane even if Leaflet's own
   stylesheet is slow, blocked or offline. Pin the pane stack explicitly:
   markers (500) always above overlays (300) and tiles (200). */
.nearby-leaflet-map .leaflet-pane{z-index:400}
.nearby-leaflet-map .leaflet-tile-pane{z-index:200}
.nearby-leaflet-map .leaflet-overlay-pane{z-index:300}
.nearby-leaflet-map .leaflet-marker-pane{z-index:500}
.nearby-leaflet-map .leaflet-tooltip-pane{z-index:600}
.nearby-leaflet-map .leaflet-popup-pane{z-index:650}
.nearby-leaflet-map .leaflet-control{z-index:700}
.nearby-marker{position:absolute;z-index:3;display:grid;place-items:center;padding:0;line-height:1;font-family:Inter,system-ui,sans-serif;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--nearby-pin,var(--accent));border:3px solid #fff;color:#fff;font-weight:700;font-size:.9rem;box-shadow:0 2px 6px #2b272420;cursor:pointer;transition:box-shadow .15s ease}
.nearby-marker:hover,.nearby-marker.is-hovered,.nearby-marker.is-active{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink),0 4px 12px rgba(0,0,0,.45);z-index:10}
.nearby-marker:focus-visible,.nearby-section button:focus-visible,.nearby-section a:focus-visible,.nearby-slides:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.nearby-source-note{font-size:.78rem!important;line-height:1.5;color:var(--muted);margin:12px 0 0}
.nearby-map-notice{display:grid;gap:4px}.nearby-map-notice .nearby-source-note{margin:0}
/* GEM10 hand-off: the code is presented ready to paste, because it cannot be
   pre-applied through the Hospitable widget. */
.offer-code{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 8px}
.offer-code-value{flex:1 1 140px;text-align:center;user-select:all;font:700 1.15rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.14em;color:var(--ink);background:#fff;border:1px dashed var(--accent);border-radius:6px;padding:9px 14px}
.offer-copy{min-height:44px;min-width:44px;padding:8px 16px;border:1px solid var(--brand-cta);background:var(--brand-cta);color:#fff;border-radius:6px;cursor:pointer;font:600 .85rem/1 Inter,system-ui,sans-serif;transition:background .15s ease,filter .15s ease}
.offer-copy:hover{background:var(--brand-cta);border-color:var(--brand-cta);filter:brightness(.92)}.offer-copy:active{transform:translateY(1px)}
.offer-copy.is-copied{background:var(--ink);border-color:var(--ink)}
.offer-copied{margin:6px 0 0;font-size:.82rem;font-weight:600;color:var(--accent)}
/* Visually hidden but available to assistive tech. This class was already used in
   the markup without a rule, so those spans were rendering as visible text. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:22px 0 0;counter-reset:step}.booking-steps li{counter-increment:step;position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 12px 12px 50px;border:1px solid var(--line);background:var(--paper);margin:0;min-height:56px}.booking-steps li::before{content:counter(step);position:absolute;top:12px;left:12px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font:700 .8rem/1 Inter,system-ui,sans-serif}.booking-steps li:not(:last-child)::after{content:'';position:absolute;top:24px;left:38px;right:0;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 11px)}.booking-steps li strong{font-size:.9rem}.booking-steps li span{font-size:.78rem;line-height:1.45;color:var(--muted)}
.booking-trust{margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--sand);font-size:.84rem;line-height:1.55}.booking-trust strong{color:var(--ink)}.trust-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trust-review{padding:22px;background:#fffdf9;border:1px solid var(--line)}.trust-mark{color:var(--accent);font:2rem/1 var(--serif);margin-bottom:8px}.trust-review blockquote{font:1.15rem/1.5 var(--serif);margin:0 0 16px}.trust-review cite{display:block;color:var(--muted);font-size:.78rem;line-height:1.5;font-style:normal}.trust-note{margin:20px 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}
.booking-questions{margin-top:20px;padding:18px 20px;border:1px solid var(--line);background:#fffdf9}.booking-questions .eyebrow{margin-bottom:4px}.booking-questions h3{font-size:1.35rem;margin:0 0 8px}.booking-questions details{border-bottom:1px solid var(--line);padding:10px 0}.booking-questions summary{cursor:pointer;font-weight:600;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}.booking-questions details p{margin:8px 0 0;font-size:.86rem;line-height:1.55;color:var(--muted)}.booking-question-links{display:flex;flex-wrap:wrap;gap:12px 18px;margin:14px 0 0;font-size:.88rem;font-weight:600}
.facts-proof{margin:16px 0 0;max-width:620px;font:1.05rem/1.5 var(--serif);color:var(--ink)}.facts-proof cite{display:block;margin-top:5px;font: .78rem/1.5 Inter,system-ui,sans-serif;color:var(--muted);font-style:normal}
.guide-author{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 26px;padding:12px 0;border-bottom:1px solid var(--line)}.guide-author .eyebrow{margin:0;font-size:.72rem}.author-trigger{border:0;padding:0;background:none;color:var(--accent);font:600 .9rem/1.5 Inter,system-ui,sans-serif;text-decoration:underline;text-underline-offset:.2em}.author-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:30px;max-width:min(520px,calc(100% - 32px));border-radius:8px}.author-dialog::backdrop{background:#211d19b8}.author-dialog h2{font-size:2rem;margin:0 0 12px}.author-dialog p{font-size:.95rem;line-height:1.65}.author-dialog-close{float:right;border:1px solid var(--line);background:#fffdf9;padding:7px 12px;color:var(--ink)}
.persona-hero{padding-top:56px;padding-bottom:64px}.persona-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:56px;align-items:start}.persona-hero h1{max-width:760px}.persona-facts{padding:24px;background:var(--sand);border-left:3px solid var(--accent)}.persona-facts ul{margin:0;padding-left:1.1rem}.persona-facts li{margin:.65rem 0}.persona-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}.persona-content article{font-size:1.1rem}.persona-aside{padding:24px;background:#fffdf9;border:1px solid var(--line)}.persona-aside h2{font-size:1.7rem}.persona-aside ul{margin:0;padding-left:1.1rem}.persona-aside li{margin:.65rem 0}
.nearby-category-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:28px;margin-top:28px}
.nearby-category-notes h3{font-size:1.1rem;margin:0 0 8px}
.nearby-category-notes p{font-size:.85rem;color:var(--muted);margin:0}
.nearby-dialog{width:min(820px,calc(100% - 24px));max-height:90dvh;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);overflow:auto}
.nearby-dialog::backdrop{background:rgba(43,39,36,.65)}
.nearby-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px;position:sticky;top:-24px;background:var(--paper);z-index:2;padding:12px 0}
.nearby-dialog-heading h2{font-size:1.6rem;margin:0;line-height:1.3}
.nearby-dialog-heading button,.nearby-carousel-controls button{min-width:44px;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;color:var(--ink);flex-shrink:0}
.nearby-dialog-heading button{padding:8px 12px}
.nearby-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:8px;background:#fff}
.nearby-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.nearby-slide img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;max-height:48dvh}
.nearby-slide figcaption{font-size:.8rem;color:var(--muted);padding:10px 12px;text-transform:capitalize}
.nearby-carousel-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px}
.nearby-carousel-controls button:disabled{opacity:.4;cursor:default}
.nearby-photo-count{font-size:.85rem}
.nearby-place-links{display:flex;flex-direction:column;gap:4px;margin-top:16px}
.nearby-place-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem;overflow-wrap:anywhere}
@media(max-width:960px){.nearby-layout{grid-template-columns:1fr}.nearby-sidebar{position:static;order:-1}.nearby-marker-board{height:auto;min-height:360px;aspect-ratio:16/10}.nearby-category-notes{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.nearby-section{padding:20px 14px}.nearby-card{padding:14px}.nearby-card-body{grid-template-columns:1fr}.nearby-thumb img{height:140px}.nearby-category-notes{grid-template-columns:1fr}.nearby-dialog{padding:16px}.nearby-dialog-heading h2{font-size:1.25rem}.nearby-overview{padding:12px}.nearby-marker{width:40px;height:40px;font-size:.85rem}.nearby-marker-board{height:auto;min-height:320px;aspect-ratio:1/1}.nearby-leaflet-pin{height:34px;width:34px;font-size:.78rem}.nearby-ready .nearby-local-list{max-height:640px}.nearby-dialog-content>div>p{font-size:.9rem}}
.guide-map-section{margin:48px 0;padding:32px;background:#fffdf9;border:1px solid var(--line);border-radius:12px}
.guide-map-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:20px}
.guide-map-header h2{margin:0 0 6px;font-size:clamp(1.6rem,2.8vw,2.2rem)}
.guide-map-header p{margin:0}
.map-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 2px}
.guide-map-section .map-filter-chip{appearance:none}
.guide-map-section .nearby-filter-chip[aria-selected="true"]{border-color:var(--nearby-pin,#71675f);box-shadow:inset 0 0 0 1px var(--nearby-pin,#71675f);font-weight:700}
.guide-map-section .map-category-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 8px;border:1px solid color-mix(in srgb,var(--nearby-pin,#71675f) 25%,white);border-radius:999px;background:#f2eee8;color:var(--nearby-pin,#71675f);font-size:.65rem;line-height:1.25;letter-spacing:.045em}
.guide-map-section .map-category-badge.nearby-category-essentials{background:#e4f0e8;color:#2f6b4f}
.guide-map-section .map-category-badge.nearby-category-stay{background:#f5e7df;color:#a9512e}
.guide-map-section .map-category-badge.nearby-category-fitness{background:#e0f0f1;color:#087f8c}
.guide-map-section .map-category-badge.nearby-category-wellness{background:#eee8f6;color:#7353a6}
.guide-map-section .map-category-badge.nearby-category-entertainment{background:#f5e6df;color:#a7432d}
.guide-map-section .map-category-badge.nearby-category-regional{background:#f4ecd9;color:#8a570c}
.guide-map-container{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:start}
.guide-map-container.nearby-regional-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.guide-map-content{display:flex;flex-direction:column;gap:18px}
.guide-map-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
.guide-map-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.guide-map-card:hover,.guide-map-card.is-hovered,.guide-map-card.is-active{border-color:var(--accent);box-shadow:0 4px 14px rgba(169,81,46,.1);background:#fff}
.nearby-related-guides{display:flex;flex-direction:column;gap:6px;padding:18px;background:#f7f2e9;border:1px solid var(--line);border-radius:8px}
.nearby-related-guides h4{margin:0;font-size:1rem}
.nearby-related-guides p{margin:0 0 4px;font-size:.82rem;color:var(--muted)}
.nearby-related-guides a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:var(--accent);font-size:.88rem;font-weight:600}
.map-stay-cta{background:var(--sand);border:1px solid var(--line);border-radius:8px;padding:20px}
.map-stay-cta h3{font-size:1.3rem;margin:0 0 4px}
.map-stay-cta p{margin:0;font-size:.85rem}
.map-stay-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}
.map-stay-cta-actions .button{padding:8px 18px;min-height:42px;font-size:.88rem}
 .comparison-hero{padding-top:48px;padding-bottom:56px}.comparison-meta{font-size:.82rem;color:var(--muted);margin-top:20px}.comparison-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.comparison-table-wrap{overflow-x:auto;background:#fffdf9;border:1px solid var(--line);border-radius:8px}.comparison-table{width:100%;border-collapse:collapse;font-size:.9rem}.comparison-table th,.comparison-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.comparison-table thead th{background:var(--sand);font-weight:600}.comparison-table tbody th{font-weight:600;width:18%}.comparison-table tr:last-child th,.comparison-table tr:last-child td{border-bottom:0}.comparison-callout{background:#fffdf9;border:1px solid var(--line);border-radius:8px;padding:24px}.comparison-callout ul{padding-left:1.2rem;margin:0 0 22px}.comparison-callout li{margin:.45rem 0;font-size:.9rem;line-height:1.5}.comparison-source{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.comparison-source a{color:var(--accent)}.comparison-table thead th:nth-child(2){border-top:3px solid var(--accent)}.comparison-recommended{display:block;width:max-content;margin-top:6px;padding:2px 7px;border-radius:999px;background:var(--accent);color:#fff;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.comparison-source-badge{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:-.4rem 0 18px;padding:10px 12px;border-left:3px solid var(--accent);background:#fffdf9;font-size:.82rem;color:var(--muted)}.comparison-source-badge strong{color:var(--ink)}.comparison-table-note{margin:12px 0 0;font-size:.82rem;line-height:1.5;color:var(--muted)}.comparison-row-price th,.comparison-row-price td,.comparison-row-terms th,.comparison-row-terms td{background:#fff8ef}.comparison-row-price th,.comparison-row-terms th{border-left:3px solid var(--accent)}
.comparison-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.comparison-reasons article{position:relative;padding:20px 20px 18px 56px;border:1px solid var(--line);border-radius:8px;background:#fffdf9}.comparison-reasons h3{font-size:1.18rem;margin:0 0 6px}.comparison-reasons p{font-size:.88rem;color:var(--muted);line-height:1.55;margin:0}.comparison-reason-number{position:absolute;left:18px;top:20px;color:var(--accent);font:1.35rem/1 var(--serif)}
 @media(max-width:780px){.comparison-layout{grid-template-columns:1fr}.comparison-callout{order:-1}}
 @media(max-width:700px){.comparison-table-wrap{overflow:visible;border:0;background:transparent}.comparison-table,.comparison-table tbody{display:block}.comparison-table thead{display:none}.comparison-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;background:#fffdf9;margin-bottom:12px;overflow:hidden}.comparison-table tbody th{grid-column:1/-1;width:auto;padding:11px 14px 7px;background:var(--sand);border:0;font-size:.84rem}.comparison-table tbody td{padding:10px 14px 14px;border:0;font-size:.88rem}.comparison-table tbody td::before{content:attr(data-label);display:block;margin-bottom:4px;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.comparison-table thead th:nth-child(2){border-top:0}.comparison-recommended{font-size:.6rem}}
@media(max-width:520px){.comparison-reasons{grid-template-columns:1fr}}
@media(max-width:520px){.booking-steps{grid-template-columns:1fr;gap:8px}.booking-steps li:not(:last-child)::after{top:38px;bottom:-10px;left:24px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--line) 0 6px,transparent 6px 11px)}}
@media(max-width:780px){.trust-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.trust-review-grid{grid-template-columns:1fr}}
@media(max-width:780px){.persona-hero-grid,.persona-content{grid-template-columns:1fr;gap:28px}.persona-hero{padding-top:36px;padding-bottom:48px}}
.map-stay-cta-gem10{font-size:.8rem;color:var(--muted)}
.map-stay-cta-gem10 strong{color:var(--ink)}
.guide-map-visual{background:#fdfbf7;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.guide-map-canvas{width:100%;height:410px;background:#e8e4db}
.guide-map-canvas.leaflet-container{font:inherit;z-index:0}
.guide-map-visual .leaflet-control-attribution{font-size:10px}
.guide-map-fallback{display:none;margin:0;padding:10px 14px;background:#fff3df;color:#654526;font-size:.82rem;line-height:1.45}
.guide-map-fallback:not([hidden]){display:block}
.guide-map-ready .guide-map-fallback[hidden]{display:none}
.guide-map-leaflet-icon{background:transparent;border:0}
.guide-map-leaflet-pin{width:38px;height:38px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 2px 8px rgba(30,24,20,.36);color:#fff;font:700 14px/1 var(--sans);text-align:center;transition:transform .16s,background .16s;}
.guide-map-leaflet-pin.is-base{background:#2b2724}
.guide-map-leaflet-pin.is-active,.guide-map-leaflet-pin:hover{z-index:1000!important;transform:scale(1.16);background:#914326}
.guide-map-leaflet-pin:focus-visible{outline:3px solid #2b2724;outline-offset:2px}
.map-visual-legend{display:flex;gap:18px;padding:10px 14px;background:#faf8f4;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}
.legend-dot.base{background:#2b2724}
.legend-dot.stop{background:var(--accent)}
.stops-scroll-list{display:flex;flex-direction:column;gap:16px;max-height:640px;overflow-y:auto;padding-right:6px}
.map-stop-card{display:grid;grid-template-columns:36px 110px 1fr;gap:14px;padding:14px;align-items:start;cursor:pointer}
.map-stop-card.no-thumb{grid-template-columns:36px minmax(0,1fr)}
.map-stop-num{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.map-stop-card[data-category="Base"] .map-stop-num{background:#2b2724}
.map-stop-thumb{border-radius:8px;overflow:hidden;width:110px;height:82px}
.map-stop-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.map-stop-info{display:flex;flex-direction:column;gap:4px}
.map-stop-badge-row{display:flex;align-items:center;gap:8px;font-size:.75rem}
.map-category-badge{font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.map-drivetime{color:var(--muted)}
.map-stop-info h3{font-size:1.05rem;margin:0;line-height:1.25}
.map-stop-info p{font-size:.85rem;color:var(--muted);margin:2px 0 6px;line-height:1.45}
.map-card-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.map-ext-link{font-size:.8rem;color:var(--accent);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.map-ext-link:hover{text-decoration:underline}
.map-website-link{font-size:.78rem;color:var(--ink);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;background:var(--sand);padding:3px 9px;border-radius:4px;border:1px solid var(--line);transition:all .15s}
.map-website-link:hover{background:var(--line);text-decoration:none;color:var(--accent)}
.article-layout.with-full-map{grid-template-columns:1fr}
.article-layout.with-full-map .article-body{max-width:none}
.article-layout.with-full-map .article-aside{display:none}
@media(max-width:960px){
  .guide-map-container{grid-template-columns:1fr;gap:24px}
  .guide-map-container.nearby-regional-layout{grid-template-columns:1fr}
  .guide-map-sidebar{position:static;order:-1}
  .stops-scroll-list{max-height:none;overflow-y:visible}
}
@media(max-width:600px){
  .guide-map-section{padding:20px 16px;margin:32px 0}
  .map-stop-card{grid-template-columns:32px 1fr}
  .map-stop-thumb{display:none}
  .guide-map-canvas{height:340px}
  .map-visual-legend{flex-wrap:wrap;gap:8px 16px}
}

/* Townhouse section jump navigation */
.section-nav-slot{min-height:52px}
.section-nav{display:flex;align-items:center;gap:14px;padding:10px 0}
.section-nav-scroll{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.section-nav a{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:6px 16px;font-size:.85rem;color:var(--ink);text-decoration:none;transition:all .15s;white-space:nowrap}
.section-nav a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.section-nav a[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
/* The availability action reads as the primary action, not another nav link. */
.section-nav .section-nav-cta{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;padding:8px 20px;border-radius:3px;margin-left:auto;flex-shrink:0}
.section-nav .section-nav-cta:hover{background:var(--brand-cta);border-color:var(--brand-cta);color:#fff;text-decoration:none;filter:brightness(.92)}

/* Sticky state: only applied once the hero has left the viewport (see site.js).
   The bar is fixed against the viewport; the slot keeps its flow height so
   nothing below jumps when the state changes. */
.section-nav.is-stuck{position:fixed;top:0;left:0;right:0;z-index:25;background:rgba(250,248,244,.98);border-bottom:1px solid var(--line);box-shadow:0 4px 14px #2b272414;padding:10px 0}
.section-nav.is-stuck .section-nav-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0 24px}
.section-nav.is-stuck .section-nav-scroll::-webkit-scrollbar{display:none}
.section-nav.is-stuck .section-nav-cta{margin-right:24px}
/* Anchor targets clear the fixed bar so headings are not hidden behind it. */
.section-nav-target{scroll-margin-top:88px}

/* Mobile: one lean row, scrolled horizontally, with the availability action
   pinned so it never scrolls out of reach. */
@media(max-width:767px){
  .section-nav{gap:8px;padding:6px 0}
  .section-nav-slot{min-height:44px}
  .section-nav .section-nav-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
  .section-nav .section-nav-scroll::-webkit-scrollbar{display:none}
  .section-nav a{padding:5px 13px;font-size:.82rem}
  .section-nav .section-nav-cta{padding:6px 13px;font-size:.82rem}
  .section-nav.is-stuck{padding:4px 0}
  .section-nav.is-stuck .section-nav-scroll{padding:0 10px}
  .section-nav.is-stuck .section-nav-cta{margin-right:10px;padding:6px 13px;font-size:.82rem}
  /* Bar height (naturally ~44-48px) plus a small gap keeps target headings clear. */
  .section-nav-target{scroll-margin-top:60px}
}

/* Townhouse bedroom cards */
.bedroom-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.bedroom-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.bedroom-card figure{margin:0}
.bedroom-card figure img{width:100%;height:240px;object-fit:cover;display:block}
.bedroom-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.bedroom-card-body h3{margin:0 0 8px;font-size:1.35rem}
.bedroom-card-body ul{padding-left:1.2rem;margin:8px 0 0;font-size:.9rem}
.bedroom-card-body li{margin:.35rem 0}

/* Review quotes block */
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:28px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;justify-content:space-between}
.review-card blockquote{margin:0 0 16px;padding:0;font-style:italic;color:var(--ink);line-height:1.6}
.review-card cite{display:block;font-style:normal;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.review-card cite strong{color:var(--ink);display:block}

@media(max-width:768px){
  .bedroom-grid{grid-template-columns:1fr}
  .bedroom-card figure img{height:200px}
}
.mobile-booking[hidden]{display:none}
@media(max-width:780px){
  .mobile-booking{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .mobile-booking-prompt{margin:0 0 5px;text-align:center;font-size:.82rem;line-height:1.3;color:var(--muted);font-weight:600}
  body:has(.main-nav.is-open) .mobile-booking,
  body:has(dialog[open]) .mobile-booking{display:none}
}
#amenities .cards,#practical .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
#amenities .card,#practical .card{min-width:0}
#amenities .amenity-title{display:flex;align-items:center;gap:10px;font-size:1.35rem}
#amenities .amenity-title span{min-width:0}
#amenities .amenity-icon{width:40px;height:40px;flex:0 0 40px;padding:9px;border-radius:50%;background:var(--sand);color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1000px){#amenities .cards,#practical .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#amenities .cards,#practical .cards{grid-template-columns:minmax(0,1fr)}}
.host-bios{align-items:start}
.host-bios>div{min-width:0}
.host-bios .host-portrait{width:112px;height:112px;aspect-ratio:1;object-fit:cover}
/* A compact title followed by the familiar five-photo listing collage. */
.property-title-head{padding:22px 0 18px}
.property-title-head .eyebrow{margin:0 0 5px}
.property-title-head h1{font-size:clamp(2rem,3.2vw,2.65rem);letter-spacing:-.025em;margin:0 0 8px;max-width:none}
.property-title-head .intro{font-size:1rem;line-height:1.5;margin:0;max-width:74ch}
.property-gallery-section{margin-bottom:34px}
.property-gallery{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;height:clamp(350px,39vw,470px);overflow:hidden;border-radius:12px;background:var(--sand)}
.property-gallery-image{display:block;min-width:0;min-height:0;overflow:hidden;background:var(--sand)}
.property-gallery-image-1{grid-column:span 2;grid-row:span 2}
.property-gallery-image img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .25s ease}
.property-gallery-image:hover img{transform:scale(1.025)}
.property-gallery-all{position:absolute;right:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--ink);border-radius:6px;background:#fffdf9;color:var(--ink);font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #2b27242a}
.property-gallery-all:hover{background:var(--ink);color:#fff}
.lightbox{position:relative}
.lightbox-close{float:right;margin-bottom:12px;border:1px solid var(--line);padding:8px 16px;background:white}
.lightbox-stage{position:relative;display:grid;place-items:center;min-height:180px;clear:both}
.lightbox-stage img{max-height:72vh;max-width:100%;width:auto;object-fit:contain;margin:auto}
.lightbox-nav{position:absolute;top:50%;z-index:1;display:grid;place-items:center;width:48px;height:48px;padding:0;transform:translateY(-50%);border:1px solid var(--line);border-radius:50%;background:#fffdf9;color:var(--ink);font-size:2rem;line-height:1;box-shadow:0 2px 10px #2b272433}
.lightbox-nav:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.lightbox-nav-prev{left:12px}
.lightbox-nav-next{right:12px}
.lightbox-caption{clear:both;margin:14px 0 2px}
.lightbox-position{margin:0;text-align:center;color:var(--muted);font-size:.82rem;line-height:1.4}
.property-detail-line{margin:0 0 4px;font-size:.94rem;font-weight:600}
.decision-copy>.facts{margin-top:10px}
.decision-copy>.property-review-summary{margin:4px 0 10px}
/* Townhouse decision area: property facts and review evidence beside an early booking card.
   The Hospitable calendar renders at a fixed 288px usable width, so the booking column
   stays at least 340px wide rather than being squeezed into a narrow sidebar. */
.decision{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:stretch}
.decision-copy{min-width:0;display:flex;flex-direction:column}
.decision-copy h2{margin-bottom:1rem}
.decision-copy .feature-list{margin:22px 0 0}
.decision-review{margin-top:26px;padding:22px 24px;background:var(--sand);border-left:3px solid var(--accent)}
.decision-review .quote{font-size:1.18rem;margin:0}
.decision-review cite{display:block;font-style:normal;font-size:.82rem;color:var(--muted);margin-top:10px}
.decision-booking{align-self:start}
.decision-booking .booking-panel{padding:20px 22px;height:auto}
.decision-booking .booking-panel h2{font-size:1.55rem;margin:10px 0 14px}
.decision-booking .booking-panel>p:not(.eyebrow):not(.booking-caption){margin-bottom:12px}
.decision-booking .booking-frame{min-height:0;height:auto}
.decision-booking .booking-frame iframe{display:block;width:100%;border:0}
.decision-booking .booking-caption{margin:10px 0 14px;font-size:.78rem}
.decision-booking .offer{margin-top:14px}
.decision-booking .booking-help{margin-top:14px}
.rating-links{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:.85rem;margin-top:auto}
.rating-links a{color:#914326}
@media(max-width:1000px){
  .decision{grid-template-columns:minmax(0,1fr) 340px;gap:32px}
}
@media(max-width:820px){
  .decision{grid-template-columns:minmax(0,1fr)}
  .decision-booking{position:static}
  .decision-booking .booking-frame{min-height:480px}
}
@media(max-width:780px){
  .property-gallery{height:380px}
}
@media(max-width:600px){
  .property-title-head{padding:15px 0 14px}
  .property-title-head h1{font-size:2rem}
  .property-title-head .intro{font-size:.94rem}
  .property-gallery-section{width:100%;margin-bottom:26px}
  .property-gallery{height:410px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:280px 122px;gap:4px;border-radius:0}
  .property-gallery-image-1{grid-column:span 2;grid-row:auto}
  .property-gallery-image:nth-of-type(n+4){display:none}
  .property-gallery-all{top:226px;right:12px;bottom:auto;padding:8px 11px;font-size:.78rem}
}
.booking-panel-cta{text-align:left}
.booking-panel-cta .actions{margin-top:6px}
.booking-panel-cta .booking-help{margin-top:18px}
@media(max-width:820px){
  .booking-panel-cta .booking-help{flex-direction:column;align-items:flex-start}
}
.booking-direct-wrap{max-width:1040px}
.booking-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:20px}
.booking-grid-left{display:flex;flex-direction:column;gap:18px}
.booking-section-grid .booking-steps{grid-template-columns:1fr;gap:12px;margin-top:0}
.booking-section-grid .booking-steps li:not(:last-child)::after{top:38px;bottom:-10px;left:24px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--line) 0 6px,transparent 6px 11px)}
.booking-grid-left .offer{margin-top:0}
.booking-contact-help{border-top:1px solid var(--line);padding-top:16px;font-size:.9rem}
.booking-contact-help p{margin-bottom:8px;color:var(--muted)}
.booking-contact-help a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #a69b8d;border-radius:3px;color:var(--ink);font-weight:600;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.booking-contact-help a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.booking-grid-right{display:flex;flex-direction:column}
.booking-grid-right .booking-frame{margin-top:0;min-height:520px}
.booking-grid-right .booking-frame iframe{display:block;width:100%;border:0}
.booking-widget-fallback{margin-top:12px;font-size:.85rem}
.booking-widget-fallback a{color:var(--ink);text-decoration:underline}
.booking-widget-fallback a:hover{color:var(--accent)}
@media(max-width:820px){
  .booking-section-grid{grid-template-columns:1fr;gap:28px}.booking-grid-right{order:-1}.booking-grid-left{order:0}
  .booking-section-grid .booking-steps li:not(:last-child)::after{top:38px;bottom:-10px;left:24px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--line) 0 6px,transparent 6px 11px)}
}

/* Shared footer social and page-sharing controls. */
.footer-connect{display:flex;flex-wrap:wrap;gap:24px 40px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.footer-label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}
.social-links,.share-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none;padding:0;margin:0}
.social-links li,.share-links li{margin:0}
.social-links a,.share-links a,.share-links button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid #a69b8d;border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font:inherit;font-size:.85rem;cursor:pointer}
.share-links button[hidden]{display:none}
.social-links a:hover,.share-links a:hover,.share-links button:hover{background:var(--accent);border-color:var(--accent);color:white}
.xhs-icon{font-size:12px;font-weight:700;line-height:1}
.footer-share-status{flex-basis:100%;font-size:.875rem;margin:0;overflow-wrap:anywhere}
.footer-share-status:empty{display:none}
@media(max-width:600px){.share-links a,.share-links button{width:auto;padding:8px 12px}}

/* Review cards with source and reviewer attribution */
.review-count{margin:8px 0;color:var(--ink);font-weight:700}.review-count span{display:block;color:var(--muted);font-size:.8rem;font-weight:400}.review-card{justify-content:flex-start;gap:12px;min-width:0}.review-card-byline{display:flex;align-items:center;gap:10px;min-height:48px}.review-avatar{width:48px;height:48px;flex:none;border-radius:50%;object-fit:cover;background:var(--sand)}.review-author{display:grid;gap:3px;min-width:0}.review-author strong{font-size:.9rem}.review-author span,.review-author time{font-size:.77rem;color:var(--muted)}.review-platform{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;flex:none}.review-platform-icon{display:block;width:30px!important;height:30px!important;max-width:none;object-fit:contain;border-radius:7px!important;background:#fff}.review-card .review-rating{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);font-size:.88rem;font-weight:700}.review-card .review-rating strong{font:inherit}.review-card .review-rating strong span{color:var(--muted);font-weight:400}.review-card-stars{display:inline-block;color:transparent;background:linear-gradient(90deg,#d89b22 var(--rating-fill),#ded8ce var(--rating-fill));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:1rem;letter-spacing:.025em;line-height:1}.review-card blockquote{margin:0;flex:1;font-style:normal;font-size:1rem}.review-card blockquote{font-family:var(--serif);font-size:1.12rem;line-height:1.55}.review-location{margin:-6px 0 0;color:var(--muted);font-size:.78rem}.review-context{margin:0;padding:10px 12px;background:var(--sand);font-size:.84rem;line-height:1.5}

.landing-intro{display:flex;align-items:center;gap:16px;max-width:560px;margin:0;font-size:1.05rem}.landing-host-avatar{width:72px;height:72px;flex:0 0 72px;object-fit:cover;border-radius:50%}@media(max-width:680px){.landing-intro{font-size:.95rem}.landing-host-avatar{width:60px;height:60px;flex-basis:60px}}

:root{--brand-cta:#b74761}
.site-header{background:#fff}
.brand-lockup{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-width:0}
.brand-lockup:hover{text-decoration:none}
.brand-lockup img{display:block;width:48px;height:48px;flex:0 0 48px;object-fit:contain;border-radius:0}
.brand-lockup-copy{display:grid;justify-items:start;gap:3px;min-width:0}
.brand-lockup-name{font:500 1.75rem/1.02 var(--serif);letter-spacing:-.02em;white-space:nowrap}
.brand-lockup-tagline{font:400 1.25rem/1 Caveat,"Segoe Print",cursive;color:#555047;white-space:nowrap}
.brand-lockup--full .brand-lockup-copy{justify-items:center}
.brand-lockup--full .brand-lockup-name{font-size:1.9rem}
.brand-lockup--full img{width:76px;height:76px;flex-basis:76px}
.button,.main-nav .button{background:var(--brand-cta);border-color:var(--brand-cta)}
.button:hover{background:var(--brand-cta);filter:brightness(.92)}
.button:focus-visible,.main-nav .button:focus-visible{outline-color:var(--brand-cta)}
.landing{position:relative;isolation:isolate}
.landing::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:linear-gradient(115deg,#faf8f4 0%,#fff4ec 54%,#f5dbcb 100%)}
@media(max-width:780px){.brand-lockup{gap:9px}.brand-lockup img{width:42px;height:42px;flex-basis:42px}.brand-lockup-name{font-size:1.5rem}.brand-lockup--full img{width:64px;height:64px;flex-basis:64px}}
@media(max-width:520px){.brand-lockup{gap:7px}.brand-lockup img{width:38px;height:38px;flex-basis:38px}.brand-lockup-name{font-size:1.38rem}.brand-lockup--full img{width:56px;height:56px;flex-basis:56px}.brand-lockup--full .brand-lockup-name{font-size:1.65rem}.brand-lockup-tagline{font-size:1.05rem}}

:root{--link:#803d47}
a{color:var(--link)}
.main-nav a[aria-current=page],.main-nav a:hover{color:var(--link)}
.rating-links a,.comparison-source a{color:var(--link)}
.promo-ribbon{padding:10px 24px;background:#f5dbcb;color:var(--ink);text-align:center}
.promo-ribbon p{max-width:1100px;margin:0 auto;line-height:1.5;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 5px}
.promo-ribbon-action{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}
.promo-ribbon a{color:#71353e;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.promo-ribbon a:hover{color:var(--ink)}
.brand-lockup--full{flex-direction:column;align-items:center;gap:8px;text-align:center}
.brand-lockup--full .brand-lockup-copy{justify-items:center;gap:5px}
.brand-lockup--full img{width:88px;height:88px;flex-basis:88px}
.brand-lockup--full .brand-lockup-name{font-size:2rem}
.brand-lockup--full .brand-lockup-tagline{max-width:28ch;font-size:1.45rem;line-height:1.1;white-space:normal}
@media(max-width:780px){.brand-lockup--full img{width:76px;height:76px;flex-basis:76px}.brand-lockup--full .brand-lockup-tagline{font-size:1.35rem}}
@media(max-width:520px){.brand-lockup--full img{width:68px;height:68px;flex-basis:68px}.brand-lockup--full .brand-lockup-name{font-size:1.8rem}.brand-lockup--full .brand-lockup-tagline{font-size:1.2rem}}

.review-aggregate{max-width:560px;margin:12px 0 0;padding:0;border:0;border-radius:0;background:transparent}
.review-aggregate-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:2px}
.review-aggregate-platforms{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:6px}
.review-aggregate-platforms img{width:28px;height:28px;object-fit:contain;border-radius:6px;background:#fff}
.review-aggregate-score{display:flex;align-items:baseline;gap:4px;flex:none;color:var(--ink)}
.review-aggregate-score strong{font-size:2rem;line-height:1;font-weight:750}
.review-aggregate-score>span:not(.review-aggregate-stars){font-size:.9rem;color:var(--muted)}
.review-aggregate-score>span:not(.review-aggregate-stars){white-space:nowrap}
.review-aggregate-stars{display:inline-block;margin-left:6px;font-size:1rem;letter-spacing:.04em;line-height:1;background:linear-gradient(90deg,#d89b22 90%,#ded8ce 90%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.review-aggregate-copy{display:grid;gap:4px}
.review-aggregate-copy strong{font-size:.95rem;color:var(--ink)}
.review-aggregate-copy span{font-size:.84rem;color:var(--muted)}
.review-aggregate>p{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:.77rem;line-height:1.45;color:var(--muted)}
@media(max-width:520px){.review-aggregate{padding:0}.review-aggregate-score strong{font-size:1.7rem}.review-aggregate-copy span{font-size:.79rem}.review-aggregate-platforms{grid-column:1/-1;grid-row:3;gap:4px;margin-top:4px}.review-aggregate-platforms img{width:25px;height:25px}}
.landing-location{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 18px;max-width:760px}.landing-location .eyebrow{margin:0}.review-platforms{display:flex;align-items:center;gap:5px}.review-platforms img{width:25px;height:25px;object-fit:contain;border-radius:5px;background:#fff}.landing-proof{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:32px;align-items:center}.landing-proof-rating .review-aggregate{margin:0}.landing-proof-rating .review-aggregate-main{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.landing-proof-copy p{margin:0}.landing-proof-copy span{display:block;color:var(--muted);font-size:.8rem;margin-top:5px}.landing-proof-copy>a{display:inline-block;margin-top:10px;font-size:.84rem}@media(max-width:680px){.landing-proof{grid-template-columns:1fr;gap:14px}.landing-location{align-items:flex-start}.review-platforms{gap:4px}}.review-platforms{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;max-width:100%}.review-platform{display:flex;align-items:center;gap:4px}.review-platform img{width:25px;height:25px;object-fit:contain;border-radius:5px;background:#fff}.review-platform-rating{display:flex;flex-direction:column;gap:1px;line-height:1}.review-platform-rating>strong{font-size:.69rem;font-weight:650;white-space:nowrap}.review-platform-rating small{font-size:.56rem;color:var(--muted);margin-left:1px}.review-platform-stars{font-size:.55rem;letter-spacing:-.05em;line-height:1;background:linear-gradient(90deg,#d89b22 var(--rating-fill),#ded8ce var(--rating-fill));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.review-aggregate-score strong{font-size:2rem}.review-aggregate-stars{background:linear-gradient(90deg,#d89b22 95%,#ded8ce 95%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.landing-proof-rating .review-aggregate-main{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.landing-proof-rating .review-aggregate-platforms{display:flex;max-width:100%}@media(max-width:520px){.review-platforms{gap:6px 8px}.review-platform img{width:23px;height:23px}}
.trust-review blockquote::after{content:"”"}

.main-nav .button:hover{background:var(--brand-cta);border-color:var(--brand-cta);color:#fff;text-decoration:none;filter:brightness(.92)}


/* Site-wide polish: a calmer editorial rhythm with the property's facts doing the work. */
.eyebrow{text-transform:none;letter-spacing:.01em;font-size:.88rem;color:var(--link);margin-bottom:.7rem}
.landing-copy h1 em{font-style:normal;color:var(--accent)}
.landing-booking .eyebrow{font-size:.82rem}
.section-heading{margin-bottom:24px}
.section-heading>div{max-width:68ch}
.page-head .intro{max-width:68ch}
.article-body{max-width:74ch}
.article-body p,.article-body li{line-height:1.78}
.article-body h2{line-height:1.16}
.button,.social-links a,.share-links a,.share-links button{transition:background-color .18s ease,border-color .18s ease,color .18s ease,filter .18s ease,transform .12s ease}
.at-a-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:26px 0 0;border-block:1px solid var(--line)}
.glance-item{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:12px;row-gap:4px;min-width:0;min-height:96px;margin:0;padding:16px 14px;border-right:1px solid var(--line)}
.glance-item:last-child{border-right:0}
.glance-icon{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;margin-top:2px;border-radius:50%;background:var(--sand);font-size:1rem;line-height:1}
.glance-item strong{font-size:.9rem;line-height:1.35}
.glance-item>span:last-child{color:var(--muted);font-size:.78rem;line-height:1.4}
@media(max-width:900px){.at-a-glance{grid-template-columns:repeat(2,minmax(0,1fr))}.glance-item:nth-child(2){border-right:0}.glance-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:520px){.glance-item{min-height:88px;padding:14px 8px;grid-template-columns:30px minmax(0,1fr);column-gap:9px}.glance-icon{width:30px;height:30px}.glance-item strong{font-size:.82rem}.glance-item>span:last-child{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.button,.social-links a,.share-links a,.share-links button{transition:none}}

/* Local Guide index: welcoming landing, topic index and editorial guide sections. */
.local-guide-hero{padding:58px 0 64px;background:linear-gradient(118deg,#f1ebe1 0%,#faf8f4 72%);border-bottom:1px solid var(--line)}.local-guide-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(36px,7vw,100px);align-items:center}.local-guide-intro{max-width:680px}.local-guide-intro .eyebrow{margin-bottom:1rem}.local-guide-intro h1{max-width:720px;margin:.5rem 0 1.2rem;font-size:clamp(2.8rem,6vw,5.2rem)}.local-guide-intro .intro{margin-bottom:1.7rem}.local-guide-index{padding:23px 26px;background:#fffdf9;border:1px solid var(--line);border-top:3px solid var(--accent)}.local-guide-index>.eyebrow{margin-bottom:10px}.local-guide-index>a{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;min-height:54px;padding:9px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.local-guide-index>a>span:first-child{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.local-guide-index>a>span:last-child{color:var(--accent);transition:transform .18s ease}.local-guide-index>a:hover>span:last-child{transform:translate(2px,2px)}.local-guide-index strong{font-weight:600}.local-guide-nearby-wrap{padding-top:36px}.local-guide-topic{scroll-margin-top:100px}.local-guide-topic-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px}.local-guide-topic-heading .eyebrow{margin-bottom:.55rem}.local-guide-topic-heading h2{margin-bottom:0}.local-guide-topic-heading>p{max-width:390px;margin:0 0 .25rem;color:var(--muted)}
.local-guide-more-guides{margin-top:26px;border-block:1px solid var(--line);background:#fffdf9}.local-guide-more-guides>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 18px;color:var(--accent);font-weight:600;cursor:pointer;list-style:none}.local-guide-more-guides>summary::-webkit-details-marker{display:none}.local-guide-more-guides>summary::after{content:'';flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .2s ease}.local-guide-more-guides[open]>summary::after{transform:rotate(225deg)}.local-guide-more-guides>.cards{padding:0 18px 20px}
@media(max-width:780px){.local-guide-hero{padding:38px 0 42px}.local-guide-hero-grid{grid-template-columns:1fr;gap:30px}.local-guide-intro h1{max-width:620px}.local-guide-index{padding:18px 20px}.local-guide-topic-heading{align-items:start;flex-direction:column;gap:12px}.local-guide-topic-heading>p{max-width:58ch}}
@media(max-width:520px){.local-guide-intro h1{font-size:2.7rem}.local-guide-index{padding:15px 17px}.local-guide-index>a{min-height:50px}.local-guide-nearby-wrap{padding-top:20px}}


/* Editorial review excerpts share one restrained blockquote treatment. */
.review-avatar-fallback{display:grid;place-items:center;color:var(--ink);font-size:.82rem;font-weight:700;background:var(--review-avatar-fill,var(--sand));border:1px solid var(--line)}.review-excerpt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.review-excerpt-card{display:flex;flex-direction:column;min-width:0;min-height:260px;padding:25px;background:#fffdf9;border:1px solid var(--line);border-top:3px solid var(--accent)}.review-excerpt-mark{font:3.4rem/.75 var(--serif);color:var(--accent)}.review-excerpt-card blockquote{flex:1;margin:0 0 24px;font:1.28rem/1.55 var(--serif);color:var(--ink)}.review-excerpt-card .review-card-byline{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.review-excerpt-card .review-card-byline strong{font-size:.9rem}
@media(max-width:780px){.review-excerpt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.review-excerpt-grid{grid-template-columns:1fr}.review-excerpt-card{min-height:0}}

.layout-guide{border-block:1px solid var(--line)}
.layout-guide h2{max-width:780px}
.layout-guide-figure{margin:30px 0 0}
.layout-levels{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.layout-level{min-width:0;padding:24px;background:#fffdf9;border:1px solid var(--line);border-radius:8px}
.layout-level-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.layout-level-heading .eyebrow{margin:0 0 3px;font-size:.7rem}
.layout-level-heading h3{margin:0;font-size:1.45rem}
.layout-level-number{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #d6c5b5;border-radius:50%;color:#914326;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}
.layout-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.layout-room{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:112px;padding:16px;border:1px solid #ddcfc0;border-radius:6px;background:#faf6ef}
.layout-room strong{font:600 .92rem/1.35 Inter,system-ui,sans-serif}
.layout-room>span:not(.layout-room-icon){font-size:.78rem;line-height:1.4;color:var(--muted)}
.layout-bedroom{position:relative;padding-top:38px}
.layout-room-icon{position:absolute;top:12px;right:12px;color:#914326;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}
.layout-ensuite{margin-top:7px;padding-top:7px;border-top:1px solid #ddcfc0;color:#914326!important;font-weight:600}
.layout-stair-note{display:flex;align-items:center;justify-content:center;gap:9px;margin:14px 0 0;color:var(--muted);font-size:.82rem}
.layout-stair-note span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--sand);color:#914326;font-size:1rem}
.layout-ground-grid{grid-template-columns:1.35fr 1fr}
.layout-living{grid-row:span 2;min-height:158px;background:#f5eee4}
.layout-utility{min-height:74px}
.layout-guide-figure figcaption{margin-top:14px;color:var(--muted);font-size:.8rem;line-height:1.5}
@media(max-width:780px){.layout-levels{grid-template-columns:1fr}.layout-level{padding:20px}}
@media(max-width:420px){.layout-level{padding:16px}.layout-level-heading{gap:10px}.layout-level-heading h3{font-size:1.25rem}.layout-room{min-height:104px;padding:12px}.layout-room strong{font-size:.84rem}.layout-ground-grid{grid-template-columns:1.1fr 1fr}}
.card h3 a span[aria-hidden=true]{color:var(--brand-cta);white-space:nowrap}

/* Exit-intent booking help */
.exit-help-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px rgba(43,39,36,.24)}
.exit-help-dialog::backdrop{background:rgba(43,39,36,.58)}
.exit-help-content{position:relative;padding:clamp(26px,6vw,42px)}
.exit-help-content .eyebrow{margin-bottom:10px}
.exit-help-content h2{max-width:420px;margin:0 36px 14px 0;font-size:clamp(1.8rem,5vw,2.35rem);line-height:1.12}
.exit-help-content>p:not(.eyebrow){max-width:420px;color:var(--muted);line-height:1.65;margin:0}
.exit-help-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fffdf9;color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer}
.exit-help-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.exit-help-actions .button{min-height:48px}
.exit-help-actions .exit-help-email{background:transparent;color:var(--ink);border-color:#a69b8d}
.exit-help-actions .exit-help-email:hover{background:var(--sand);color:var(--ink)}
@media(max-width:520px){.exit-help-content{padding:30px 22px 24px}.exit-help-content h2{padding-right:14px}.exit-help-actions{display:grid;grid-template-columns:1fr}.exit-help-actions .button{width:100%}}

/* Homepage trust and property-detail strip */
.landing-proof{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,54px);align-items:stretch;padding:22px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.landing-proof-rating{min-width:0;display:flex;align-items:center}
.landing-proof-rating .review-aggregate{width:100%;max-width:none}
.landing-proof-rating .review-aggregate-main{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px}
.landing-proof-rating .review-aggregate-score{grid-column:1;grid-row:1;gap:4px}
.landing-proof-rating .review-aggregate-score strong{font-size:2.2rem;letter-spacing:-.045em}
.landing-proof-rating .review-aggregate-score>span:not(.review-aggregate-stars){font-size:.85rem}
.landing-proof-rating .review-aggregate-score .review-aggregate-stars{margin-left:4px;font-size:.9rem}
.landing-proof-rating .review-aggregate-copy{grid-column:2;grid-row:1;align-self:center}
.landing-proof-rating .review-aggregate-copy strong{font-size:.88rem;white-space:nowrap}
.landing-proof-rating .review-aggregate-platforms{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;margin-top:12px}
.landing-proof-rating .review-platform{min-width:0;display:grid;grid-template-columns:26px 1fr;align-items:center;gap:6px}
.landing-proof-rating .review-platform img{width:26px;height:26px}
.landing-proof-rating .review-platform-rating{gap:3px}
.landing-proof-rating .review-platform-rating>strong{font-size:.72rem}
.landing-proof-rating .review-platform-rating small{font-size:.62rem}
.landing-proof-rating .review-platform-stars{font-size:.65rem;letter-spacing:0}
.landing-proof-copy{align-self:center;padding-left:clamp(0px,2.5vw,30px);border-left:1px solid var(--line)}
.landing-proof-copy .eyebrow{margin:0 0 7px;font-size:.72rem}
.landing-proof-copy h2{font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.12;margin:0 0 9px;letter-spacing:-.025em}
.landing-proof-copy .landing-proof-details{font-size:.84rem;line-height:1.5;color:var(--muted);margin:0}
.landing-proof-copy>a{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:.88rem;font-weight:650;text-decoration:none}
.landing-proof-copy>a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){.landing-proof{grid-template-columns:1fr;gap:18px;padding:18px 0}.landing-proof-copy{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}.landing-proof-rating .review-aggregate-platforms{gap:10px 8px}}
@media(max-width:380px){.landing-proof-rating .review-aggregate-platforms{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-proof-rating .review-aggregate-score strong{font-size:1.9rem}}

/* Homepage review proof placement */
.landing-headline-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(175px,220px);align-items:center;gap:16px}
.landing-headline-row h1{min-width:0;margin:12px 0 16px}
.landing-platform-proof{min-width:0;padding-left:15px;border-left:1px solid var(--line)}
.landing-platform-proof .review-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
.landing-platform-proof .review-platform{min-width:0;display:grid;grid-template-columns:27px 1fr;align-items:center;gap:5px}
.landing-platform-proof .review-platform img{width:27px;height:27px}
.landing-platform-proof .review-platform-rating{gap:3px}
.landing-platform-proof .review-platform-rating>strong{font-size:.7rem}
.landing-platform-proof .review-platform-rating small{font-size:.6rem}
.landing-platform-proof .review-platform-stars{font-size:.64rem;letter-spacing:0}
.landing-proof{grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.landing-proof-copy{order:1}
.landing-proof-rating{order:2;justify-content:flex-end;padding-left:20px;border-left:1px solid var(--line)}
.landing-proof-rating .review-aggregate{width:auto}
.landing-proof-rating .review-aggregate-main{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.landing-proof-rating .review-aggregate-score{display:flex;align-items:baseline;gap:4px}
.landing-proof-rating .review-aggregate-score strong{font-size:2.35rem}
.landing-proof-rating .review-aggregate-copy strong{font-size:.9rem}
@media(max-width:1000px) and (min-width:681px){.landing-headline-row{grid-template-columns:minmax(0,1fr) 180px;gap:10px}.landing-headline-row h1{font-size:clamp(2.5rem,4vw,3.4rem)}.landing-platform-proof{padding-left:10px}.landing-platform-proof .review-platforms{gap:10px 5px}}
@media(max-width:680px){.landing-headline-row{display:block}.landing-headline-row h1{font-size:clamp(2.3rem,8.5vw,3.4rem)}.landing-platform-proof{border-left:0;padding:0;margin:6px 0 16px}.landing-platform-proof .review-platforms{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;max-width:360px}.landing-proof{display:grid;grid-template-columns:1fr;gap:16px}.landing-proof-copy{order:1;padding:0;border:0}.landing-proof-rating{order:2;justify-content:flex-start;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}.landing-proof-rating .review-aggregate-main{align-items:flex-start}}
@media(max-width:380px){.landing-platform-proof .review-platforms{grid-template-columns:repeat(2,minmax(0,1fr));max-width:260px}}

/* Homepage trust proof: one grouped rating block beside the property summary */
.landing-proof{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(22px,3vw,42px);align-items:center}
.landing-proof-copy{order:1;padding:0;border:0}
.landing-proof-copy p{margin:0}
.landing-proof-copy p strong{display:block;font-size:1.15rem;line-height:1.35;color:var(--ink)}
.landing-proof-copy p span{display:block;color:var(--muted);font-size:.84rem;line-height:1.5;margin-top:5px}
.landing-proof-copy>a{display:inline-block;margin-top:10px;font-size:.86rem}
.landing-proof-rating{order:2;min-width:0;justify-content:flex-start;padding:0 0 0 clamp(18px,2.5vw,32px);border-left:1px solid var(--line)}
.landing-proof-rating .review-aggregate{width:100%;max-width:none}
.landing-proof-rating .review-aggregate-main{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px}
.landing-proof-rating .review-aggregate-score{grid-column:1;grid-row:1;display:flex;align-items:baseline;gap:4px}
.landing-proof-rating .review-aggregate-score strong{font-size:2.1rem;letter-spacing:-.04em}
.landing-proof-rating .review-aggregate-score>span:not(.review-aggregate-stars){font-size:.85rem}
.landing-proof-rating .review-aggregate-score .review-aggregate-stars{margin-left:4px;font-size:.9rem}
.landing-proof-rating .review-aggregate-copy{grid-column:2;grid-row:1;align-self:center}
.landing-proof-rating .review-aggregate-copy strong{font-size:.88rem;white-space:nowrap}
.landing-proof-rating .review-aggregate-platforms{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(6px,1vw,12px);margin-top:11px;max-width:none}
.landing-proof-rating .review-platform{min-width:0;display:flex;align-items:center;gap:4px}
.landing-proof-rating .review-platform img{width:22px;height:22px;flex:none}
.landing-proof-rating .review-platform-rating{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.landing-proof-rating .review-platform-rating>strong{font-size:.68rem}
.landing-proof-rating .review-platform-rating small{font-size:.57rem}
.landing-proof-rating .review-platform-stars{font-size:.58rem;letter-spacing:-.02em}
@media(max-width:920px) and (min-width:681px){.landing-proof{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px}.landing-proof-rating{padding-left:18px}.landing-proof-rating .review-aggregate-platforms{gap:6px}.landing-proof-rating .review-platform{gap:3px}.landing-proof-rating .review-platform img{width:19px;height:19px}.landing-proof-rating .review-platform-rating>strong{font-size:.63rem}.landing-proof-rating .review-platform-stars{font-size:.52rem}}
@media(max-width:840px){.landing-proof{display:grid;grid-template-columns:1fr;gap:16px;padding:18px 0}.landing-proof-copy{order:1}.landing-proof-rating{order:2;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}.landing-proof-rating .review-aggregate-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px}.landing-proof-rating .review-platform{gap:5px}.landing-proof-rating .review-platform img{width:24px;height:24px}.landing-proof-rating .review-platform-rating>strong{font-size:.7rem}.landing-proof-rating .review-platform-stars{font-size:.62rem}}
@media(max-width:380px){.landing-proof-rating .review-aggregate-platforms{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Homepage review block: platform ratings on the left, stacked aggregate on the right */
.landing-proof-rating .review-aggregate-main{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:clamp(10px,2vw,22px);row-gap:2px}
.landing-proof-rating .review-aggregate-platforms{grid-column:1;grid-row:1/3;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(4px,.8vw,9px);margin:0;min-width:0}
.landing-proof-rating .review-platform{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:3px;min-width:0;flex:1 1 0}
.landing-proof-rating .review-platform img{width:20px;height:20px}
.landing-proof-rating .review-platform-rating{min-width:0;gap:2px}
.landing-proof-rating .review-platform-rating>strong{font-size:.64rem}
.landing-proof-rating .review-platform-rating small{font-size:.54rem}
.landing-proof-rating .review-platform-stars{font-size:.52rem;letter-spacing:-.03em;white-space:nowrap}
.landing-proof-rating .review-aggregate-score{grid-column:2;grid-row:1;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;justify-content:center;align-items:baseline;gap:0 4px;text-align:center}
.landing-proof-rating .review-aggregate-score strong{grid-column:1;grid-row:1;font-size:2rem}
.landing-proof-rating .review-aggregate-score>span:not(.review-aggregate-stars){grid-column:2;grid-row:1}
.landing-proof-rating .review-aggregate-score .review-aggregate-stars{grid-column:1/-1;grid-row:2;margin:3px 0 0;font-size:.88rem}
.landing-proof-rating .review-aggregate-copy{grid-column:2;grid-row:2;justify-self:center}
.landing-proof-rating .review-aggregate-copy strong{font-size:.82rem;white-space:nowrap}
@media(max-width:920px){.landing-proof-rating .review-aggregate-main{grid-template-columns:minmax(0,1fr) auto}.landing-proof-rating .review-aggregate-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}.landing-proof-rating .review-platform{grid-template-columns:20px minmax(0,1fr);gap:4px}.landing-proof-rating .review-platform img{width:20px;height:20px}}
@media(max-width:520px){.landing-proof-rating .review-aggregate-main{column-gap:10px}.landing-proof-rating .review-aggregate-platforms{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 7px}.landing-proof-rating .review-platform{grid-template-columns:19px minmax(0,1fr);gap:4px}.landing-proof-rating .review-platform img{width:19px;height:19px}.landing-proof-rating .review-platform-rating>strong{font-size:.66rem}.landing-proof-rating .review-platform-stars{font-size:.56rem}}

/* Keep the property page's platform ratings below the overall score. */
.property-review-summary{max-width:560px}
.property-review-summary .review-aggregate-main{grid-template-columns:auto minmax(0,1fr);gap:4px 12px}
.property-review-summary .review-aggregate-score{grid-column:1;grid-row:1}
.property-review-summary .review-aggregate-copy{grid-column:2;grid-row:1;min-width:0}
.property-review-summary .review-aggregate-platforms{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(4px,.8vw,9px);margin-top:12px;min-width:0}
.property-review-summary .review-platform{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:3px;flex:1 1 0;min-width:0;margin:0}
.property-review-summary .review-platform img{width:20px;height:20px}
.property-review-summary .review-platform-rating{min-width:0;gap:2px}
.property-review-summary .review-platform-rating>strong{font-size:.64rem}
.property-review-summary .review-platform-rating small{font-size:.54rem}
.property-review-summary .review-platform-stars{font-size:.52rem;letter-spacing:-.03em;white-space:nowrap}
@media(max-width:920px){.property-review-summary .review-aggregate-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}.property-review-summary .review-platform{grid-template-columns:20px minmax(0,1fr);gap:4px}.property-review-summary .review-platform img{width:20px;height:20px}}
@media(max-width:520px){.property-review-summary .review-aggregate-main{grid-template-columns:minmax(0,1fr);gap:2px}.property-review-summary .review-aggregate-score{grid-column:1;grid-row:1}.property-review-summary .review-aggregate-copy{grid-column:1;grid-row:2}.property-review-summary .review-aggregate-platforms{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 7px;margin-top:8px}.property-review-summary .review-platform{grid-template-columns:19px minmax(0,1fr);gap:4px}.property-review-summary .review-platform img{width:19px;height:19px}.property-review-summary .review-platform-rating>strong{font-size:.66rem}.property-review-summary .review-platform-stars{font-size:.56rem}}

.footer-legal-links{display:inline-block;margin-top:.45rem}

@media(max-width:520px){.promo-ribbon{padding:9px 16px}.promo-ribbon p{font-size:.9rem}}

@media(max-width:780px){
  .mobile-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 18px max(10px,env(safe-area-inset-bottom))}
  .mobile-booking-prompt{min-width:0;margin:0;text-align:left;font-size:.82rem;line-height:1.3;color:var(--muted);font-weight:600}
  .mobile-booking .button{width:auto;min-width:104px;min-height:44px;white-space:nowrap}
}
@media(max-width:520px){
  .promo-ribbon{padding:9px 12px}
  .promo-ribbon p{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:1px;font-size:.88rem;line-height:1.35}
  .promo-ribbon-copy,.promo-ribbon-detail{display:block}
  .promo-ribbon-link{line-height:1.35}
}

/* Compact guest proof beside the main page headings. */
.property-title-head .wrap{display:block}
.property-title-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:5px}
.property-title-top .eyebrow{margin:0}
.landing-location .review-proof-badge,.property-title-top .review-proof-badge{flex:0 1 auto;width:max-content;max-width:100%}
.property-title-top .review-proof-badge{width:50%}
.review-proof-badge{min-width:0}
.review-proof-badge .review-aggregate{width:100%;max-width:none;margin:0}
.review-proof-badge .review-aggregate-main{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 10px}
.review-proof-badge .review-avatar-stack{grid-column:1;grid-row:1/3;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;margin:0;padding:0;list-style:none;min-width:max-content;}
.review-proof-badge .review-avatar-stack img{position:relative;width:34px;height:34px;margin-left:-8px;border:2px solid #fff;border-radius:50%;object-fit:cover;background:var(--sand);box-shadow:0 0 0 1px var(--line)}
.review-proof-badge .review-avatar-stack img:first-child{margin-left:0;z-index:5}
.review-proof-badge .review-avatar-stack img:nth-child(2){z-index:4}
.review-proof-badge .review-avatar-stack img:nth-child(3){z-index:3}
.review-proof-badge .review-avatar-stack img:nth-child(4){z-index:2}
.review-proof-badge .review-avatar-stack img:nth-child(5){z-index:1}
@media(max-width:900px){.review-proof-badge .review-avatar-stack img:nth-child(5){display:none}}
@media(max-width:680px){.review-proof-badge .review-avatar-stack img:nth-child(n+4){display:none}}
@media(max-width:420px){.review-proof-badge .review-avatar-stack img:nth-child(n+3){display:none}}
.review-proof-badge .review-aggregate-score{grid-column:2;grid-row:1;justify-content:flex-start;align-items:center;gap:4px}
.review-proof-badge .review-aggregate-score .review-aggregate-stars{order:0;margin:0;font-size:.95rem;background:linear-gradient(90deg,#d89b22 var(--rating-fill),#ded8ce var(--rating-fill));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.review-proof-badge .review-aggregate-score strong{order:1;font-size:.9rem;letter-spacing:0}
.review-proof-badge .review-aggregate-score>span:not(.review-aggregate-stars){order:2;font-size:.75rem}
.review-proof-badge .review-aggregate-copy{grid-column:2;grid-row:2;justify-self:start}
.review-proof-badge .review-aggregate-copy strong{font-size:.78rem;white-space:nowrap}
@media(max-width:600px){
  .property-title-top{align-items:flex-start;flex-direction:column;gap:8px}
  .property-title-top .review-proof-badge{width:max-content}
}
