/* Combined by _source/bundle_assets.py from: assets/fonts/fonts.css, assets/owner-listings.css, assets/property.css, assets/site-type.css */
/* The site's text fonts, served from the site itself (3.2.18) instead of Google Fonts: faster (no extra connection to
   another server), private (no request to Google on every page) and still working if Google is blocked or slow.
   Latin characters only (English and Kiswahili). Licences (SIL Open Font License) are in assets/fonts/licenses/.
   Antonio, the headline font, is declared in site-type.css. */
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-display:swap;font-weight:300 700;src:url(fonts/cormorant-garamond-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-display:swap;font-weight:300 700;src:url(fonts/cormorant-garamond-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:300;src:url(fonts/barlow-condensed-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:500;src:url(fonts/barlow-condensed-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-display:swap;font-weight:600;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Owners' listings on the website (3.2.3): assets/owner-listings.js */
.ol{position:relative;max-width:1240px;margin:0 auto;padding:56px 5% 40px;font-family:Inter,Inter Fallback,Arial,sans-serif;color:#1d1a18}
.ol *{box-sizing:border-box}
.ol[hidden]{display:none}
.ol-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 30px;flex-wrap:wrap;margin-bottom:22px;animation:ol-in .5s cubic-bezier(.22,.8,.24,1) both}
.ol-ey{margin:0 0 10px;font:600 11px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#a6122b}
.ol-head h2{margin:0;font:500 clamp(30px,4vw,44px)/1.02 'Cormorant Garamond',Cormorant Garamond Fallback,Georgia,serif;color:#1d1a18}
.ol-sub{margin:8px 0 0;font-size:14px;color:#5d5752}
.ol-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ol-tabs{display:inline-flex;gap:2px;padding:4px;background:#efe8dd;border-radius:999px}
.ol-tabs button{min-height:38px;padding:0 15px;border:0;border-radius:999px;background:transparent;color:#3a332f;font:600 13px/1 Inter,Inter Fallback,Arial,sans-serif;cursor:pointer;transition:background-color .2s,box-shadow .2s}
.ol-tabs button[aria-pressed="true"]{background:#fff;color:#1d1a18;box-shadow:0 2px 6px rgba(20,14,10,.12)}
.ol-tabs button:focus-visible,.ol-county select:focus-visible,.ol-nav:focus-visible,.ol-link:focus-visible,.ol-rail:focus-visible{outline:2px solid #a6122b;outline-offset:2px}
.ol-county select{min-height:42px;padding:0 34px 0 14px;border:1px solid #cdbfb0;background:#fff;font:500 14px Inter,Inter Fallback,Arial,sans-serif;color:#1d1a18}
.ol-rail-wrap{position:relative}
.ol-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,calc((100% - 48px) / 4));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;scrollbar-width:thin}
.ol-rail>div{scroll-snap-align:start;min-width:0}
.ol-nav{position:absolute;top:110px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#1d1a18;font-size:24px;line-height:1;box-shadow:0 6px 20px rgba(20,14,10,.18);cursor:pointer;transition:transform .2s,opacity .2s}
.ol-nav:hover{transform:scale(1.06)}
.ol-nav.prev{left:-14px}.ol-nav.next{right:-14px}
.ol-nav[hidden]{display:none}
.ol-card{height:100%;background:#fff;border:1px solid #e3dcd0;transition:transform .3s cubic-bezier(.22,.8,.24,1),box-shadow .3s;animation:ol-in .5s cubic-bezier(.22,.8,.24,1) both}
.ol-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(20,14,10,.10)}
.ol-card.featured{border-color:#d9c27a;box-shadow:0 0 0 1px #d9c27a}
.ol-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.ol-photo{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#efe8dd}
.ol-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.8,.24,1)}
.ol-card:hover .ol-photo img{transform:scale(1.05)}
.ol-feat{position:absolute;top:10px;left:10px;padding:6px 10px;background:#1d1a18;color:#f1d77e;font:700 10px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.ol-badge{position:absolute;top:10px;right:10px;display:inline-flex;gap:5px;align-items:center;padding:5px 10px;border-radius:999px;font:700 10px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.ol-badge.premium{background:linear-gradient(135deg,#f1d77e,#c9a646 55%,#9c7a1e);color:#3b2a00}
.ol-badge.business{background:linear-gradient(135deg,#14916f,#0b6b52 55%,#06483a);color:#fff}
.ol-count{position:absolute;bottom:10px;right:10px;padding:4px 8px;background:rgba(20,14,10,.66);color:#fff;font-size:11px}
.ol-body{display:flex;flex-direction:column;gap:5px;padding:14px 16px 16px;flex:1}
.ol-cat{font:600 10px/1.3 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#6a625b}
.ol-title{font-size:16px;line-height:1.3;color:#1d1a18}
.ol-price{font:600 18px/1.2 Inter,Inter Fallback,Arial,sans-serif;color:#7c0b19}
.ol-price small{font-weight:500;font-size:13px;color:#5d5752}
.ol-place,.ol-facts{font-size:13.5px;color:#4a423d}
.ol-view{margin-top:auto;padding-top:8px;font-size:12.5px;color:#1d6b45}
.ol-view::before{content:'◷ '}
.ol-n{margin:6px 0 0;font-size:13px;color:#6a625b}
.ol-none{padding:30px;color:#5d5752}
@keyframes ol-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.ol-rail{grid-auto-columns:minmax(250px,calc((100% - 32px) / 3))}}
@media(max-width:760px){.ol-rail{grid-auto-columns:78%}.ol-nav{display:none}.ol{padding:40px 16px 30px}}
@media(prefers-reduced-motion:reduce){.ol-card,.ol-head{animation:none}.ol-card,.ol-photo img{transition:none}.ol-card:hover{transform:none}.ol-card:hover .ol-photo img{transform:none}}

/* property.html (3.2.3): one owner's listing with photos and viewing booking (assets/property.js) */
.pr,.pr *{box-sizing:border-box}
.pr{max-width:1200px;margin:0 auto;padding:30px 5% 80px;font-family:Inter,Inter Fallback,Arial,sans-serif;color:#1d1a18}
html.pr-lock{overflow:hidden}
.pr-preview{margin:0 0 18px;padding:12px 16px;background:#fbf3dc;border-left:3px solid #c9a646;font-size:14px;color:#3b2a00}
.pr-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#6a625b;margin-bottom:18px}
.pr-crumbs a{color:#7c0b19}
.pr-crumbs [aria-current]{color:#3a332f;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 34px;flex-wrap:wrap;margin-bottom:22px;animation:pr-in .5s cubic-bezier(.22,.8,.24,1) both}
.pr-ey{margin:0 0 10px;font:600 11px/1.3 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#a6122b}
.pr .pr-head h1,.pr-missing h1{margin:0 0 8px;font:500 clamp(34px,5vw,56px)/1 'Cormorant Garamond',Cormorant Garamond Fallback,Georgia,serif;color:#1d1a18!important;-webkit-text-fill-color:#1d1a18;background:none!important;text-transform:none;letter-spacing:0}
.pr-place{margin:0 0 12px;font-size:15px;color:#4a423d}
.pr-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0}
.pr-badges .ol-badge{position:static}
.ol-feat.static{position:static;display:inline-block}
.pr-checked{font-size:12.5px;color:#1d6b45;font-weight:600}
.pr-price{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.pr-price b{font:600 34px/1 Inter,Inter Fallback,Arial,sans-serif;color:#7c0b19}
.pr-price span{font-size:14px;color:#5d5752}
.pr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid #7c0b19;background:#7c0b19;color:#fff;font:600 12px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:box-shadow .2s,transform .15s,background-color .2s}
.pr-btn:hover{box-shadow:0 8px 20px rgba(124,11,25,.22)}
.pr-btn:active{transform:scale(.97)}
.pr-btn.ghost{background:transparent;color:#7c0b19}
.pr-btn.wide{width:100%}
.pr-btn[disabled]{opacity:.6;cursor:not-allowed}
.pr-btn:focus-visible,.pr button:focus-visible,.pr a:focus-visible,.pr input:focus-visible,.pr textarea:focus-visible{outline:2px solid #a6122b;outline-offset:2px}
.pr-gallery{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-bottom:34px;animation:pr-in .55s cubic-bezier(.22,.8,.24,1) .05s both}
.pr-gallery.one{grid-template-columns:1fr}
.pr-gallery button{position:relative;display:block;width:100%;padding:0;border:0;background:#efe8dd;cursor:zoom-in;overflow:hidden}
.pr-main-ph{aspect-ratio:3/2}
.pr-thumbs{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px}
.pr-gallery img{display:block;width:100%;height:100%;object-fit:cover;opacity:.0;transition:opacity .4s,transform .5s cubic-bezier(.22,.8,.24,1)}
.pr-gallery img.in{opacity:1}
.pr-gallery button:hover img{transform:scale(1.04)}
.pr-thumbs span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,14,10,.55);color:#fff;font-weight:600}
.pr-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:44px;align-items:start}
.pr-body h2,.pr-book h2{margin:28px 0 12px;font:500 28px/1.1 'Cormorant Garamond',Cormorant Garamond Fallback,Georgia,serif;color:#1d1a18}
.pr-body h2:first-child{margin-top:0}
.pr-facts{display:flex;flex-wrap:wrap;margin:0;border-top:1px solid #e3dcd0;border-left:1px solid #e3dcd0}
.pr-facts div{flex:1 1 170px;padding:12px 14px;background:#fff;border-right:1px solid #e3dcd0;border-bottom:1px solid #e3dcd0}
.pr-facts dt{font-size:12px;color:#6a625b}
.pr-facts dd{margin:3px 0 0;font-weight:600}
.pr-feats{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pr-feats li{padding:7px 12px;border:1px solid #e3dcd0;border-radius:999px;background:#faf7f1;font-size:13.5px}
.pr-text p{margin:0 0 12px;font-size:15.5px;line-height:1.7;color:#2b2522}
.pr-video{position:relative;aspect-ratio:16/9;background:#1d1a18}
.pr-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pr-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;border:0;background:radial-gradient(circle,#3a2a2c,#1d1a18);color:#fff;font:600 16px Inter,Inter Fallback,Arial,sans-serif;cursor:pointer}
.pr-play span{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;margin-bottom:6px;border-radius:50%;background:#7c0b19;font-size:24px;transition:transform .25s}
.pr-play:hover span{transform:scale(1.08)}
.pr-play small{font-weight:400;font-size:12px;color:#cfc4b4}
.pr-ref{margin-top:26px;font-size:13px;color:#6a625b}
.pr-ref a{color:#7c0b19}
.pr-side{min-width:0}
@media(min-width:961px) and (min-height:1150px){.pr-side{position:sticky;top:90px}}   /* only when the booking card and safety box fit on screen */
.pr-book{min-width:0;padding:24px 22px;background:#fff;border:1px solid #e3dcd0;box-shadow:0 18px 40px rgba(20,14,10,.08);animation:pr-in .5s cubic-bezier(.22,.8,.24,1) .1s both}
.pr-book h2{margin-top:0}
.pr-hint{margin:-4px 0 16px;font-size:14px;line-height:1.5;color:#4a423d}
.pr-days,.pr-times{border:0;margin:0 0 14px;padding:0;min-width:0}
.pr-days legend,.pr-times legend,.pr-f label,.pr-pref label{padding:0;margin:0 0 7px;font:600 11px/1.3 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#3a332f}
.pr-day-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}
.pr-day-row button{flex:0 0 58px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border:1px solid #d8ccbb;background:#fff;cursor:pointer;scroll-snap-align:start;transition:background-color .2s,border-color .2s,color .2s,transform .15s}
.pr-day-row button b{font-size:18px}
.pr-day-row small{font-size:11px;color:inherit;opacity:.8}
.pr-day-row button:hover,.pr-time-row button:hover{border-color:#7c0b19}
.pr-day-row button[aria-pressed="true"],.pr-time-row button[aria-pressed="true"]{background:#7c0b19;border-color:#7c0b19;color:#fff}
.pr-day-row button:active,.pr-time-row button:active{transform:scale(.95)}
.pr-time-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}
.pr-time-row.pr-swap button{animation:pr-in .3s cubic-bezier(.22,.8,.24,1) both}
.pr-time-row button{min-height:42px;border:1px solid #d8ccbb;background:#fff;font:600 14px Inter,Inter Fallback,Arial,sans-serif;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .15s}
.pr-f,.pr-pref{display:grid;gap:4px;margin-bottom:10px}
.pr-pref{grid-template-columns:1fr 1fr;column-gap:10px}
.pr-pref label[for="prTime"]{grid-column:2;grid-row:1}
.pr-pref input#prTime{grid-column:2;grid-row:2}
.pr-f small,.pr-pref small{font-weight:400;letter-spacing:0;text-transform:none;color:#6a625b}
.pr-f input,.pr-f textarea,.pr-pref input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cdbfb0;font:400 16px Inter,Inter Fallback,Arial,sans-serif;transition:border-color .2s,box-shadow .2s}
.pr-f textarea{min-height:0;resize:vertical}
.pr-f input:focus,.pr-f textarea:focus,.pr-pref input:focus{outline:none;border-color:#a6122b;box-shadow:0 0 0 4px rgba(166,18,43,.1)}
.pr-msg{min-height:1.2em;margin:4px 0 10px;color:#a6122b;font-size:14px}
.pr-fine{margin:10px 0 0;font-size:12px;line-height:1.5;color:#6a625b}
.pr-none{padding:12px;background:#faf7f1;font-size:14px}
.pr-sent{text-align:center;outline:none}
.pr-sent p{font-size:15px;line-height:1.6;color:#3a332f}
.pr-tick{display:block;width:64px;height:64px;margin:0 auto 10px}
.pr-tick svg{width:100%;height:100%;fill:none;stroke:#1d6b45;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pr-tick circle{stroke-dasharray:151;stroke-dashoffset:151;animation:pr-draw .6s cubic-bezier(.22,.8,.24,1) forwards}
.pr-tick path{stroke-dasharray:36;stroke-dashoffset:36;animation:pr-draw .4s cubic-bezier(.22,.8,.24,1) .45s forwards}
.pr-missing{max-width:640px;margin:40px auto;text-align:center}
.pr-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.pr-lb{position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center;background:rgba(10,8,6,.92);opacity:0;transition:opacity .22s}
.pr-lb.open{opacity:1}
.pr-lb figure{margin:0;max-width:92vw;max-height:86vh;text-align:center}
.pr-lb img{max-width:92vw;max-height:80vh;object-fit:contain;opacity:0;transform:scale(.98);transition:opacity .3s,transform .3s}
.pr-lb img.in{opacity:1;transform:none}
.pr-lb figcaption{margin-top:10px;color:#e9e3da;font-size:14px}
.pr-lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:50%;transition:background-color .2s}
.pr-lb button:hover{background:rgba(255,255,255,.24)}
.pr-lb-x{top:16px;right:16px;width:48px;height:48px;font-size:28px}
.pr-lb-nav{top:50%;width:56px;height:56px;margin-top:-28px;font-size:30px}
.pr-lb-nav.prev{left:16px}.pr-lb-nav.next{right:16px}
@keyframes pr-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pr-draw{to{stroke-dashoffset:0}}
@media(max-width:960px){.pr-grid{grid-template-columns:minmax(0,1fr)}.pr-side{position:static}.pr-price{align-items:flex-start;text-align:left}}
@media(max-width:640px){.pr{padding:20px 16px 70px}.pr-gallery{grid-template-columns:1fr}.pr-thumbs{grid-template-columns:repeat(4,1fr)}.pr-thumbs button{aspect-ratio:1}.pr-lb-nav{display:none}}
@media(prefers-reduced-motion:reduce){.pr-head,.pr-gallery,.pr-book,.pr-time-row.pr-swap button,.pr-tick circle,.pr-tick path{animation:none!important}.pr-tick circle,.pr-tick path{stroke-dashoffset:0}.pr-gallery img,.pr-lb,.pr-lb img{transition:none}}
/* viewing.html */
.vw{max-width:640px;margin:0 auto;padding:40px 16px 80px;font-family:Inter,Inter Fallback,Arial,sans-serif;color:#1d1a18}
.vw *{box-sizing:border-box}
.vw-card{padding:30px 28px;background:#fff;border:1px solid #e3dcd0;box-shadow:0 18px 40px rgba(20,14,10,.08);animation:pr-in .45s cubic-bezier(.22,.8,.24,1) both}
.vw-ey{margin:0 0 14px;font:600 11px/1 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#a6122b}
.vw-listing{display:flex;gap:14px;align-items:center;margin-bottom:18px;padding:10px;border:1px solid #efe8dd;color:inherit;text-decoration:none;transition:border-color .2s}
.vw-listing:hover{border-color:#cdbfb0}
.vw-listing img{width:96px;height:64px;object-fit:cover;background:#efe8dd}
.vw-listing small{display:block;color:#5d5752;font-size:13px;margin-top:3px}
.vw .vw-status{margin:0 0 16px;font:500 clamp(30px,5vw,40px)/1.05 'Cormorant Garamond',Cormorant Garamond Fallback,Georgia,serif;color:#1d1a18!important;-webkit-text-fill-color:#1d1a18;background:none!important;text-transform:none;letter-spacing:0;outline:none}
.vw .vw-status.confirmed{color:#1d5c39!important;-webkit-text-fill-color:#1d5c39}
.vw-steps{list-style:none;display:flex;gap:0;margin:0 0 20px;padding:0}
.vw-steps li{position:relative;flex:1;padding-top:22px;font-size:12.5px;color:#6a625b;text-align:center}
.vw-steps li span[aria-hidden]{position:absolute;top:0;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#e3dcd0;transition:background-color .3s,transform .3s}
.vw-steps li::before{content:'';position:absolute;top:6px;left:-50%;right:50%;height:2px;background:#e3dcd0}
.vw-steps li:first-child::before{display:none}
.vw-steps li.done span[aria-hidden],.vw-steps li.done::before,.vw-steps li.now::before{background:#1d6b45}
.vw-steps li.now span[aria-hidden]{background:#7c0b19;transform:scale(1.25);box-shadow:0 0 0 4px rgba(124,11,25,.15)}
.vw-steps li.now{color:#1d1a18;font-weight:600}
.vw-facts{margin:0 0 16px;display:grid;gap:1px;background:#e3dcd0;border:1px solid #e3dcd0}
.vw-facts div{padding:12px 14px;background:#fff}
.vw-facts .vw-new{background:#fffaf0}
.vw-facts dt{font-size:12px;color:#6a625b}
.vw-facts dd{margin:3px 0 0;font-weight:600}
.vw-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.vw-cancel{border:0;background:none;color:#7c0b19;text-decoration:underline;text-underline-offset:3px;font:500 14px Inter,Inter Fallback,Arial,sans-serif;cursor:pointer;padding:10px 0}
.vw-msg{min-height:1.2em;color:#a6122b;font-size:14px}
.vw-fine{margin:16px 0 0;font-size:12.5px;color:#6a625b}
.vw .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.vw-card{animation:none}}

/* 3.2.4: stay safe and report */
.pr-safe{margin-top:16px;padding:18px 20px;background:#fffaf0;border:1px solid #ecd9a3;font-size:14px;line-height:1.5;color:#3a332f}
.pr-safe h2{margin:0 0 8px;font:600 12px/1.2 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#6b5414}
.pr-safe ul{margin:0 0 10px;padding-left:18px}
.pr-safe li{margin:4px 0}
.pr-report-b{border:0;background:none;padding:6px 0;color:#7c0b19;font:500 14px Inter,Inter Fallback,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pr-report{margin-top:8px;animation:pr-in .3s cubic-bezier(.22,.8,.24,1) both}
.pr-report fieldset{border:0;margin:0 0 10px;padding:0}
.pr-report legend{margin-bottom:6px;font:600 11px/1.3 Inter,Inter Fallback,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.pr-report fieldset label{display:flex;gap:8px;align-items:flex-start;padding:4px 0;font-size:14px}
.pr-thanks{margin:0;color:#1d5c39;font-weight:600;outline:none}
@media(prefers-reduced-motion:reduce){.pr-report{animation:none}}

/* ==========================================================================
   Site-wide headings: the same tall, condensed, uppercase lettering and
   crimson > burgundy > oxblood gradient used on the home page.
   (Loaded by every page except the home page, which carries its own copy.)
   ========================================================================== */
@font-face{font-family:"Antonio";src:url("fonts/antonio.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap}
:root{
  --hd-font:"Antonio",Antonio Fallback,"Oswald","Barlow Condensed",Barlow Condensed Fallback,"Arial Narrow",Impact,sans-serif;
  --hd-grad:linear-gradient(180deg,#C31B37 0%,#8E0D20 52%,#4A0005 100%);
}

/* page titles */
h1,h1.h-display{font-family:var(--hd-font);font-weight:500;letter-spacing:.04em;line-height:.92;text-transform:uppercase;text-shadow:none;
  background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
h1{font-size:clamp(52px,6.2vw,100px)}
/* the "small line over a large line" composition: identical on every page */
h1.h-display:not(.area-title){font-size:clamp(28px,2.9vw,44px)!important;line-height:1!important}
h1.h-display:not(.area-title) strong{display:block;font-size:clamp(52px,6.1vw,96px)!important;font-weight:500;line-height:.92;margin-top:.06em;color:inherit}
h1.area-title{font-size:clamp(60px,8vw,120px)}

/* section headings that sit on white */
.feat-text h2,.t-count h2,h2.section-title,.marketing-intro h2,.t-intro h2,.panel-head h2,.panel-head h3,.intro h2{
  font-family:var(--hd-font);font-weight:500;letter-spacing:.04em;line-height:.95;text-transform:uppercase;text-shadow:none;
  background:var(--hd-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.feat-text h2,.t-count h2,h2.section-title,.marketing-intro h2,.t-intro h2{font-size:clamp(40px,4.6vw,70px)}
.panel-head h2,.panel-head h3{font-size:clamp(38px,4vw,60px);margin-bottom:14px}
.feat-text h2 strong,.band h2 strong,h2 strong{font-weight:500;color:inherit}

/* red bands: same lettering, in white (a gradient would not read on the red) */
.band h2{font-family:var(--hd-font);font-weight:500;letter-spacing:.04em;line-height:.92;text-transform:uppercase;font-size:clamp(44px,5vw,76px)}

/* big numerals */
.stat b,.t-count b,.fact b,.stats b{font-family:var(--hd-font);font-weight:500;letter-spacing:.03em}

/* ----- pages built with their own heading rules: same lettering, applied with the page's own selectors ----- */
html[data-page="contact-us"] .left h1,
html[data-page="gallery"] .hero h1,
html[data-page="office"] :is(.aboutVisual h1,.aboutVisual h2,.listingHead h2,.teamTitle,.galleryTitle),
html[data-page="offices"] .end h2,
html[data-page="agent"] :is(.copy h2,.portfolioHead h2),
html[data-page="listing"] :is(.hero h1,.intro h2,.galleryHead h2),
html[data-page="list-with-us"] :is(.hero h1,.contact h2){
  font-family:var(--hd-font)!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase!important;line-height:.94!important;text-shadow:none!important;font-style:normal!important;
  background:var(--hd-grad)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
/* the same lettering on photographs and dark panels, with the lighter reds so it stays readable */
html[data-page="offices"] .officeCopy h1,
html[data-page="office"] section.contact h2,
html[data-page="listing"] section.contact h2{
  font-family:var(--hd-font)!important;font-weight:500!important;letter-spacing:.04em!important;text-transform:uppercase!important;line-height:.94!important;text-shadow:none!important;font-style:normal!important;
  background:linear-gradient(180deg,#FF6F86 0%,#EC3A54 50%,#C31B37 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
html[data-page="agent"] .copy h2{font-size:clamp(34px,3.4vw,50px)}

/* ----- fit: the condensed lettering must always stay inside its column ----- */
.t-hero h1,.t-count h1{font-size:clamp(46px,4.9vw,80px)!important;overflow-wrap:normal;word-break:normal}
h1{max-width:100%}
@media(max-width:600px){
  .t-hero h1,.t-count h1{font-size:clamp(30px,8.6vw,40px)!important;letter-spacing:.03em}
  h1.h-display:not(.area-title){font-size:clamp(22px,6.4vw,30px)!important}
  h1.h-display:not(.area-title) strong{font-size:clamp(40px,12.4vw,58px)!important}
}

/* ----- the shared top menu now has six links: on phones keep Rentals, Invest and Contact ----- */
@media(max-width:700px){
  .top nav a{display:none!important}
  .top nav a:nth-last-child(-n+3){display:inline-block!important}
  .top nav{gap:14px}
  .top .brand{font-size:11px;letter-spacing:.16em}
}

/* stat labels sit on white on these pages (the pale pink is only for the red band) */
.t-intro .stat span,.facts .stat span,.glance .stat span{color:#6a625b}

@media(max-width:360px){.top{padding:0 3%}.top .brand{font-size:10px;letter-spacing:.08em}.top nav{gap:9px}.top nav a{letter-spacing:.06em;font-size:9px}}
/* anchors on sub-pages land below the sticky header */
html:not([data-page]){scroll-padding-top:104px}

@media(max-width:480px){.t-intro{grid-template-columns:minmax(0,1fr)}.t-intro>*{min-width:0}.stat b{overflow-wrap:anywhere}}

/* ----- 3.2.11 readability floor: small type stays small, but never below about 9–10 px ----- */
@media screen{
html[data-page="list-with-us"] .field label{font-size:10px!important}
html[data-page="list-with-us"] .kicker,html[data-page="list-with-us"] .footer span,html[data-page="list-with-us"] .footer a{font-size:9.5px!important}
html[data-page="office"] .photo .badge,html[data-page="office"] .card .loc{font-size:9.5px!important}
html[data-page="office"] .meta span,html[data-page="office"] .meta b{font-size:10px!important}
html[data-page="office"] .teamCardCopy span{font-size:9px!important;letter-spacing:.12em!important}
html[data-page="office"] .sectionViewLink{font-size:9.5px!important;z-index:5!important}
html[data-page="listing"] .ey,html[data-page="listing"] .galleryHead span,html[data-page="listing"] .contact a,html[data-page="listing"] .note{font-size:9.5px!important}
}

/* ----- 3.2.11 no jumping while a page draws itself: room is kept for the parts its script fills in ----- */
#ppCards:is(:empty,:has(> noscript:only-child)){min-height:680px}#ppCmp:empty{min-height:665px}
@media(max-width:1100px){#ppCards:is(:empty,:has(> noscript:only-child)){min-height:750px}}
@media(max-width:820px){#ppCards:is(:empty,:has(> noscript:only-child)){min-height:1600px}#ppCmp:empty{min-height:715px}}
@media(max-width:480px){#ppCards:is(:empty,:has(> noscript:only-child)){min-height:1790px}#ppCmp:empty{min-height:725px}}
html[data-page="office"] #aboutText:empty{min-height:380px}
@media(max-width:1100px){html[data-page="office"] #aboutText:empty{min-height:500px}}
@media(max-width:820px){html[data-page="office"] #aboutText:empty{min-height:300px}}
@media(max-width:480px){html[data-page="office"] #aboutText:empty{min-height:600px}}
#prRoot,#vwRoot{min-height:70vh}

/* ----- 3.2.11 the shared footer, for pages that do not carry the marketing styles ----- */
.hv-foot{padding:28px 4%;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font:400 11px/1.6 Inter,"Inter Fallback",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#77706a;background:#fff}
.hv-foot .credits{flex:1;text-align:center;font-size:10px;letter-spacing:.08em;text-transform:none;color:#6a625b}
.hv-foot a{color:inherit;text-decoration:none}.hv-foot a:hover{color:#8E0D20}
@media(max-width:700px){.hv-foot{flex-direction:column;align-items:flex-start;text-align:left}.hv-foot .credits{text-align:left}}
/* the floating WhatsApp button and the social button never cover the footer's words */
footer.footer{padding-right:max(4%,250px)!important}
@media(max-width:700px){footer.footer{padding-right:4%!important;padding-bottom:96px!important}}
@media print{footer.hv-foot{display:none!important}}

