/* Vellanor Site — gallery direction */
:root{--ink:#17211C;--ink2:#212D27;--paper:#F6F4EF;--stone:#EAE5D9;--line:#DCD6C8;--mute:#4C5751;--mute2:#5B6560;--gold:#8A6A30;--gold2:#E2BE7A;--ok:#2D6A4F;--bad:#A23B2A;--w:1360px}
body.vs{margin:0;background:var(--paper);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.vs *,body.vs *::before,body.vs *::after{box-sizing:border-box}
body.vs img{max-width:100%}
.vs-wrap{max-width:var(--w);margin:0 auto;padding:0 40px}
.vs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.vs-skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--ink);padding:12px 16px;z-index:100}
.vs-skip:focus{left:8px;top:8px}
.vs-eyebrow{margin:0 0 14px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);display:block}
.vs-eyebrow--gold{color:var(--gold2)}
.vs-display{margin:0;font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.95;font-size:clamp(34px,5vw,64px);color:inherit}
.vs-h2{margin:56px 0 18px;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:24px;letter-spacing:-.01em}
.vs-link{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;background:none;border:0;cursor:pointer;font:inherit;font-weight:600}
.vs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 20px;border-radius:999px;border:0;font:inherit;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;transition:transform .15s,opacity .15s}
.vs-btn:hover{opacity:.9}.vs-btn:active{transform:scale(.98)}
.vs-btn:focus-visible,.vs a:focus-visible,.vs summary:focus-visible,.vs input:focus-visible,.vs select:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}
.vs-btn--dark{background:var(--ink);color:#fff}
.vs-btn--light{background:#fff;color:var(--ink)}
.vs-btn--ghost-gold{border:1px solid var(--gold2);color:var(--gold2);background:transparent}
.vs-btn--lg{padding:18px 30px;font-size:17px;border-radius:14px}
.vs-btn--block{width:100%}
.vs-btn[disabled]{opacity:.6;cursor:wait}
.vs-stars{display:inline-flex;gap:3px}

/* Header */
.vs-header{position:relative;z-index:20;background:var(--paper);color:var(--ink)}
.vs-header--overlay{position:absolute;left:0;right:0;top:0;background:transparent;color:#fff}
.admin-bar .vs-header--overlay{top:32px}
.vs-header__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px}
.vs-logo{font-stretch:125%;font-weight:800;font-size:20px;letter-spacing:.34em;text-decoration:none;color:inherit}
.vs-nav{display:flex;gap:32px;font-size:15px;font-weight:500}
.vs-nav a{color:inherit;text-decoration:none}.vs-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.vs-header__cta{display:flex;align-items:center;gap:12px}
.vs-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:999px;font-size:14px;font-weight:600;color:inherit;text-decoration:none;opacity:.95}
.vs-header:not(.vs-header--overlay) .vs-btn--light{background:var(--ink);color:#fff}
.vs-menu{display:none;position:relative}
.vs-menu summary{list-style:none;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}
.vs-menu summary::-webkit-details-marker{display:none}
.vs-menu__panel{position:absolute;right:0;top:54px;min-width:260px;background:#fff;color:var(--ink);border-radius:16px;padding:10px;box-shadow:0 24px 60px rgba(0,0,0,.25);display:flex;flex-direction:column}
.vs-menu__panel a{padding:14px 16px;color:var(--ink);text-decoration:none;font-weight:600;border-radius:10px}
.vs-menu__panel a:hover{background:var(--paper)}

/* Hero */
.vs-hero{position:relative;min-height:min(900px,100vh);background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:160px 0 40px;overflow:hidden}
.vs-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vs-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,20,17,.6) 0%,rgba(14,20,17,.05) 30%,rgba(14,20,17,.1) 45%,rgba(14,20,17,.86) 100%)}
.vs-hero__copy{position:relative;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}
.vs-hero h1{margin:0;font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.9;font-size:clamp(44px,7.4vw,104px);color:#fff}
.vs-hero__copy p{margin:0;max-width:360px;font-size:18px;color:rgba(255,255,255,.9)}
.vs-search{position:relative;width:min(1280px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr auto;align-items:center;background:#fff;border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.vs-search label{display:flex;flex-direction:column;gap:4px;padding:10px 22px;border-right:1px solid #E4E0D6;font-size:12px;font-weight:600;color:var(--mute2)}
.vs-search label:nth-of-type(4){border-right:0}
.vs-search input,.vs-search select{border:0;padding:0;margin:0;background:transparent;font:inherit;font-size:17px;font-weight:600;color:var(--ink);min-width:0;width:100%;height:auto;box-shadow:none}
.vs-search--inline{width:100%;margin:36px 0 0;box-shadow:0 12px 40px rgba(23,33,28,.1)}

/* Statement */
.vs-statement{display:grid;grid-template-columns:3fr 9fr;gap:40px;padding-top:120px}
.vs-statement__text{margin:0;font-size:clamp(26px,3.3vw,46px);line-height:1.12;font-weight:500;letter-spacing:-.02em}
.vs-statement__text span{color:var(--gold)}

/* Houses */
.vs-houses{padding-top:120px}
.vs-houses__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}
.vs-bento{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:340px;gap:16px}
.vs-tile{position:relative;overflow:hidden;border-radius:20px;display:block;color:#fff;text-decoration:none;background:var(--ink2)}
.vs-tile--big{grid-row:span 2}
.vs-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.vs-tile:hover img{transform:scale(1.04)}
.vs-tile__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(10,16,13,.82) 100%)}
.vs-tile__badge{position:absolute;top:20px;left:20px;background:#fff;color:var(--ink);font-size:13px;font-weight:700;padding:8px 12px;border-radius:999px}
.vs-tile__row{position:absolute;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.vs-tile__name{display:block;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:20px;line-height:1.05;letter-spacing:-.01em}
.vs-tile--big .vs-tile__name{font-size:32px}
.vs-tile__meta{display:block;font-size:14px;opacity:.9;margin-top:6px}
.vs-tile__price{font-size:20px;font-weight:800;text-align:right;white-space:nowrap}
.vs-tile__price small{display:block;font-size:12px;font-weight:500;opacity:.85}

/* Reviews */
.vs-reviews{margin-top:140px;background:var(--ink);color:var(--paper)}
.vs-reviews__in{display:grid;grid-template-columns:4fr 8fr;gap:64px;padding-top:110px;padding-bottom:110px}
.vs-reviews__score{margin:0 0 18px;font-stretch:125%;font-weight:800;font-size:clamp(90px,12vw,160px);line-height:.85;letter-spacing:-.05em;color:var(--paper)}
.vs-reviews__note{margin:18px 0 28px;font-size:16px;color:#B9C2BC;max-width:320px}
.vs-reviews__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.vs-review{margin:0;background:var(--ink2);border-radius:20px;padding:30px;display:flex;flex-direction:column;gap:18px}
.vs-review blockquote{margin:0;padding:0;border:0;font-size:18px;line-height:1.5;color:var(--paper);font-style:normal;flex-grow:1}
.vs-review figcaption{display:flex;align-items:center;gap:12px;font-size:14px;color:#B9C2BC}
.vs-review figcaption strong,.vs-review figcaption a{color:var(--paper)}
.vs-review__av{width:40px;height:40px;border-radius:50%;background:var(--gold2);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}

/* Steps */
.vs-steps{padding-top:130px}
.vs-steps__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.vs-steps__grid>div{padding:36px 40px 0}
.vs-steps__grid>div:first-child{padding-left:0}
.vs-steps__grid>div+div{border-left:1px solid var(--line)}
.vs-steps__n{display:block;font-stretch:125%;font-weight:800;font-size:88px;line-height:1;color:var(--line)}
.vs-steps h3{margin:16px 0 10px;font-size:26px;font-weight:700;color:var(--ink)}
.vs-steps p{margin:0;color:var(--mute)}

/* Returning */
.vs-returning{position:relative;margin-top:140px;border-radius:28px;overflow:hidden;min-height:520px;background:var(--ink);display:flex}
.vs-returning>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vs-returning__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,17,.9) 0%,rgba(14,20,17,.62) 45%,rgba(14,20,17,.05) 80%)}
.vs-returning__copy{position:relative;padding:64px;max-width:640px;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.vs-returning__copy p:not(.vs-eyebrow){margin:20px 0 30px;font-size:18px;color:rgba(255,255,255,.88)}

/* Audience */
.vs-aud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:140px}
.vs-aud a{display:block;background:#fff;border-radius:20px;padding:32px;color:var(--ink);text-decoration:none;transition:background .2s}
.vs-aud a:hover{background:var(--stone)}
.vs-aud h3{margin:0 0 10px;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:22px;display:flex;justify-content:space-between;gap:12px;color:var(--ink)}
.vs-aud p{margin:0;color:var(--mute)}

/* FAQ */
.vs-faq{padding-top:140px;padding-bottom:20px}
.vs-faq__list{margin-top:36px;border-top:1px solid var(--ink)}
.vs-faq details{border-bottom:1px solid var(--line)}
.vs-faq summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;font-size:21px;font-weight:600;position:relative}
.vs-faq summary::-webkit-details-marker{display:none}
.vs-faq summary::after{content:'+';position:absolute;right:4px;top:18px;font-size:28px;font-weight:400}
.vs-faq details[open] summary::after{content:'–'}
.vs-faq details p{margin:0 0 26px;max-width:760px;color:var(--mute)}

/* Listings page */
.vs-pagehead{padding-top:56px;padding-bottom:8px}
.vs-pagehead>p:not(.vs-eyebrow){color:var(--mute);margin:16px 0 24px}
.vs-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:48px}
.vs-card{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;color:var(--ink);text-decoration:none}
.vs-card__img{display:block;height:320px;overflow:hidden;background:var(--stone)}
.vs-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.vs-card:hover .vs-card__img img{transform:scale(1.04)}
.vs-card__body{display:flex;flex-direction:column;padding:26px 28px 28px;flex-grow:1}
.vs-card__name{font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:24px;line-height:1.05;letter-spacing:-.01em}
.vs-card__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:22px}
.vs-card__price{font-size:24px;font-weight:800}
.vs-card__price small{font-size:13px;font-weight:500;color:var(--mute2)}
.vs-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.vs-pills span{padding:7px 13px;border-radius:999px;background:var(--stone);font-size:14px;font-weight:600}
.vs-pills--lg{margin-top:26px}.vs-pills--lg span{padding:10px 16px;font-size:15px}
.vs-empty{grid-column:1/-1;background:#fff;border-radius:22px;padding:48px}
.vs-empty h2{margin:0 0 8px;font-size:28px}

/* Listing */
.vs-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:280px 280px;gap:12px;padding-top:8px}
.vs-gallery__i{display:block;overflow:hidden;border-radius:6px;background:var(--stone)}
.vs-gallery__i img{width:100%;height:100%;object-fit:cover;display:block}
.vs-gallery__i--0{grid-row:span 2;border-radius:22px 6px 6px 22px}
.vs-gallery__i--2{border-radius:6px 22px 6px 6px}
.vs-gallery__i--4{border-radius:6px 6px 22px 6px}
.vs-listing{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,5fr);gap:72px;align-items:start;padding-top:56px}
.vs-listing .vs-display{font-size:clamp(30px,3.4vw,50px);line-height:.95;overflow-wrap:anywhere}.vs-listing__main{min-width:0}
.vs-listing__lede{margin-top:34px;font-size:21px;line-height:1.55;max-width:680px}
.vs-listing__lede p{margin:0 0 14px}
.vs-prose{max-width:720px;color:var(--ink)}
.vs-prose p{margin:0 0 16px}
.vs-prose h2{font-size:26px;margin:40px 0 12px;color:var(--ink)}.vs-prose h3{font-size:20px;margin:28px 0 10px;color:var(--ink)}
.vs-prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.vs-amen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vs-amen li{background:#fff;border-radius:14px;padding:16px 18px;font-size:15px;font-weight:600}
.vs-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vs-more a{display:block;height:170px;border-radius:12px;overflow:hidden}
.vs-more img{width:100%;height:100%;object-fit:cover;display:block}
.vs-mini{margin-top:64px;background:var(--ink);color:var(--paper);border-radius:24px;padding:40px;display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center}
.vs-mini__score{font-stretch:125%;font-weight:800;font-size:88px;line-height:.85;letter-spacing:-.04em}
.vs-mini p{margin:14px 0 0;font-size:14px;color:#B9C2BC}
.vs-mini figure{margin:0}.vs-mini blockquote{margin:0;padding:0;border:0;font-size:19px;line-height:1.5;color:var(--paper);font-style:normal}
.vs-mini figcaption{margin-top:14px;font-size:14px;color:var(--gold2);font-weight:600}

/* Booking card */
.vs-book{position:sticky;top:24px;background:#fff;border-radius:24px;padding:28px;box-shadow:0 30px 70px rgba(23,33,28,.14)}
.admin-bar .vs-book{top:56px}
.vs-book__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px}
.vs-book__price{font-size:34px;font-weight:800;letter-spacing:-.02em}
.vs-book__per{font-size:14px;color:var(--mute2)}
.vs-book__flag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ok);white-space:nowrap}
.vs-book__flag i{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.vs-cal{border:1px solid #E4E0D6;border-radius:16px;padding:10px;display:flex;justify-content:center;overflow:hidden}
.vs-cal>input{display:none}
.vs-cal .flatpickr-calendar{box-shadow:none;width:100%;max-width:330px;font-family:inherit}
.vs-cal .flatpickr-days,.vs-cal .dayContainer{width:100%;min-width:0;max-width:none}
.vs-cal .flatpickr-day{max-width:none;border-radius:10px;font-weight:600;color:var(--ink)}
.vs-cal .flatpickr-day.flatpickr-disabled,.vs-cal .flatpickr-day.flatpickr-disabled:hover{color:#B5B9B4;text-decoration:line-through}
.vs-cal .flatpickr-day.selected,.vs-cal .flatpickr-day.startRange,.vs-cal .flatpickr-day.endRange{background:var(--ink);border-color:var(--ink);color:#fff}
.vs-cal .flatpickr-day.inRange{background:var(--stone);border-color:var(--stone);box-shadow:-5px 0 0 var(--stone),5px 0 0 var(--stone)}
.vs-cal .flatpickr-months .flatpickr-month{height:40px}
.vs-cal .flatpickr-current-month{font-size:16px;font-weight:700}
.vs-book__sel{margin:14px 0 4px;font-size:15px;font-weight:600}
.vs-field{display:flex;flex-direction:column;gap:6px;margin:14px 0 0;font-size:13px;font-weight:600;color:var(--mute2)}
.vs-opt{font-weight:400}
.vs-book input[type=text],.vs-book input[type=email],.vs-book input[type=tel],.vs-book select{width:100%;min-height:48px;border:1px solid #D3CEC1;border-radius:12px;padding:10px 14px;font:inherit;font-size:16px;font-weight:600;color:var(--ink);background:#fff;box-shadow:none}
#vs-code{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em}
.vs-book__codemsg{margin:8px 0 0;font-size:14px;font-weight:600;min-height:0}
.vs-book__codemsg.is-ok{color:var(--ok)}.vs-book__codemsg.is-bad{color:var(--bad)}
.vs-book__lines{margin:18px 0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.vs-book__lines:empty{display:none}
.vs-line{display:flex;justify-content:space-between;gap:16px;color:var(--mute)}
.vs-line--neg{color:var(--ok);font-weight:600}
.vs-line--total{border-top:1px solid #E4E0D6;padding-top:14px;font-size:20px;font-weight:800;color:var(--ink)}
.vs-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vs-pay{margin-top:6px}
#vs-pay{border:1px solid #D3CEC1;border-radius:12px;padding:12px;min-height:60px;margin-top:6px}
.vs-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:14px;color:var(--mute)}
.vs-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--ink)}
.vs-check a{color:var(--ink)}
.vs-book .vs-btn--block{margin-top:18px}
.vs-book__back{display:block;margin:14px auto 0;font-size:14px}
.vs-book__err{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#FBEDEA;color:var(--bad);font-size:14px;font-weight:600}
.vs-book__small{margin:14px 0 0;font-size:13px;color:var(--mute2);text-align:center}
.vs-book__small a{color:var(--ink)}
.vs-book__done{text-align:center;padding:20px 0}
.vs-book__done h2{margin:12px 0 8px;font-size:28px;color:var(--ink)}
.vs-book__done p{margin:0;color:var(--mute)}

/* Generic pages */
.vs-article{padding-top:56px;padding-bottom:40px;max-width:920px}
.vs-article .vs-prose{margin-top:32px}
.vs-updated{margin-top:40px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mute2);text-transform:uppercase;letter-spacing:.06em}
.vs-facts{width:100%;border-collapse:collapse;margin:28px 0;border-top:1px solid var(--ink)}
.vs-facts th,.vs-facts td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border:0;border-bottom:1px solid var(--line);font-size:16px}
.vs-facts th{width:220px;font-weight:700}
/* Existing Elementor pages: keep the content, share the typeface */
body.vs .vs-el{background:#fff}
body.vs .vs-el,body.vs .vs-el .elementor-widget,body.vs .vs-el p,body.vs .vs-el li,body.vs .vs-el input,body.vs .vs-el textarea,body.vs .vs-el select,body.vs .vs-el button,body.vs .vs-el .elementor-button{font-family:'Archivo',system-ui,sans-serif}
body.vs .vs-el h1,body.vs .vs-el h2,body.vs .vs-el h3,body.vs .vs-el h4,body.vs .vs-el .elementor-heading-title{font-family:'Archivo',system-ui,sans-serif;letter-spacing:-.02em}

/* Footer */
.vs-footer{margin-top:140px;background:var(--ink);color:#B9C2BC}
.vs-reviews+.vs-footer,main>.vs-reviews:last-child{margin-bottom:0}
main:has(>.vs-reviews:last-child)+.vs-footer{margin-top:0;border-top:1px solid #34413A}
.vs-footer .vs-wrap{padding-top:80px;padding-bottom:40px}
.vs-footer__mark{font-stretch:125%;font-weight:800;font-size:clamp(48px,10vw,132px);line-height:.85;letter-spacing:-.02em;color:var(--paper)}
.vs-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-top:56px;padding-top:28px;border-top:1px solid #34413A;font-size:14px;line-height:1.7}
.vs-footer__col{display:flex;flex-direction:column;gap:4px}
.vs-footer a{color:#B9C2BC;text-decoration:none}.vs-footer a:hover{color:#fff;text-decoration:underline}
.vs-footer a.vs-footer__strong{color:var(--paper)}

/* Responsive */
@media (max-width:1100px){
  .vs-nav{display:none}.vs-menu{display:block}
  .vs-listing{grid-template-columns:1fr;gap:40px}
  .vs-book{position:static}
  .vs-bento{grid-template-columns:1fr 1fr;grid-auto-rows:280px}
  .vs-tile--big{grid-column:span 2;grid-row:span 1}
  .vs-reviews__in{grid-template-columns:1fr;gap:40px}
}
@media (max-width:782px){.admin-bar .vs-header--overlay{top:46px}}
@media (max-width:760px){
  .vs-wrap{padding:0 20px}
  .vs-header__in{padding-top:16px;padding-bottom:16px}
  .vs-chip,.vs-header__cta>.vs-btn{display:none}
  .vs-hero{padding:120px 0 24px;min-height:680px}
  .vs-hero__copy{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}
  .vs-hero__copy p{font-size:16px}
  .vs-search{width:calc(100% - 32px);grid-template-columns:1fr 1fr;border-radius:18px}
  .vs-search label{padding:10px 14px;border-right:0;border-bottom:1px solid #E4E0D6}
  .vs-search label:nth-of-type(1){grid-column:span 2}
  .vs-search label:nth-of-type(2){border-right:1px solid #E4E0D6}
  .vs-search label:nth-of-type(4){display:none}
  .vs-search button{grid-column:span 2;margin-top:8px}
  .vs-search--inline{width:100%}
  .vs-statement{grid-template-columns:1fr;gap:8px;padding-top:72px}
  .vs-houses,.vs-steps,.vs-aud,.vs-faq{padding-top:80px}
  .vs-houses__head{flex-direction:column;align-items:flex-start}
  .vs-bento{grid-template-columns:1fr;grid-auto-rows:240px}
  .vs-tile--big{grid-column:auto}
  .vs-tile--big .vs-tile__name{font-size:22px}
  .vs-reviews{margin-top:80px}
  .vs-reviews__in{padding-top:64px;padding-bottom:64px}
  .vs-reviews__grid{grid-template-columns:1fr}
  .vs-steps__grid{grid-template-columns:1fr}
  .vs-steps__grid>div{padding:28px 0 0}.vs-steps__grid>div+div{border-left:0;border-top:1px solid var(--line);margin-top:28px}
  .vs-steps__n{font-size:60px}
  .vs-returning{margin-top:80px;min-height:440px}
  .vs-returning__copy{padding:32px 24px}
  .vs-returning__shade{background:rgba(14,20,17,.72)}
  .vs-aud{grid-template-columns:1fr}
  .vs-cards{grid-template-columns:1fr;padding-top:32px}
  .vs-card__img{height:230px}
  .vs-card__foot{flex-direction:column;align-items:flex-start}
  .vs-gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 120px;gap:8px;padding-top:0}
  .vs-gallery__i--0{grid-column:span 2;grid-row:auto;border-radius:16px 16px 6px 6px}
  .vs-gallery__i--1{border-radius:6px 6px 6px 16px}.vs-gallery__i--2{border-radius:6px 6px 16px 6px}
  .vs-gallery__i--3,.vs-gallery__i--4{display:none}
  .vs-listing{padding-top:32px}
  .vs-amen{grid-template-columns:1fr 1fr}
  .vs-more{grid-template-columns:1fr 1fr}.vs-more a{height:120px}
  .vs-mini{grid-template-columns:1fr;padding:28px;gap:20px}
  .vs-book{padding:20px;border-radius:20px}
  .vs-facts th{width:130px}
  .vs-footer{margin-top:80px}
  .vs-footer__grid{grid-template-columns:1fr 1fr;gap:28px}
  .vs-footer__grid>div:first-child{grid-column:span 2}
}
@media (prefers-reduced-motion:reduce){.vs *{transition:none!important}}

/* --- v1.1: shared look on existing pages + trust --- */
body.vs{background:var(--paper)!important}
body.vs .vellanor-legal-bar{display:none!important}
main:has(>.vs-el)+.vs-footer{margin-top:0}
body.vs.elementor-kit-4,body.vs{--e-global-color-primary:#17211C;--e-global-color-secondary:#17211C;--e-global-color-text:#4C5751;--e-global-color-accent:#17211C}
body.vs .vs-el{background:var(--paper)!important;padding-bottom:96px}
body.vs .vs-el .elementor-invisible{visibility:visible!important}
body.vs .vs-el .animated,body.vs .vs-el .elementor-invisible,body.vs .vs-el [data-settings*="animation"]{animation:none!important;opacity:1!important;transform:none!important}
body.vs .vs-el *:not(i):not(svg):not([class*="fa-"]):not([class*="eicon"]){font-family:'Archivo',system-ui,sans-serif!important}
body.vs .vs-el .vs-h1{overflow-wrap:break-word;font-stretch:125%;font-weight:800!important;text-transform:uppercase;letter-spacing:-.03em!important;line-height:.95!important;font-size:clamp(36px,5vw,64px)!important}
body.vs .vs-el .vs-h2{overflow-wrap:break-word;font-stretch:125%;font-weight:800!important;text-transform:uppercase;letter-spacing:-.025em!important;line-height:1!important;font-size:clamp(26px,3.2vw,42px)!important}
body.vs .vs-el .vs-h3{font-weight:700!important;letter-spacing:-.01em!important;font-size:22px!important;line-height:1.2!important}
body.vs .vs-el .elementor-widget-text-editor,body.vs .vs-el .elementor-widget-text-editor p,body.vs .vs-el .elementor-icon-list-text,body.vs .vs-el .elementor-icon-box-description{font-size:17px!important;line-height:1.55!important;font-weight:400!important}
body.vs .vs-el .elementor-icon-box-title,body.vs .vs-el .elementor-icon-box-title *{font-size:18px!important;font-weight:600!important;line-height:1.35!important;text-transform:none!important;letter-spacing:0!important;font-stretch:100%!important}
body.vs .vs-el .elementor-button,body.vs .vs-el button[type=submit],body.vs .vs-el input[type=submit]{border-radius:14px!important;font-weight:700!important;font-size:16px!important;letter-spacing:0!important;text-transform:none!important;padding:16px 26px!important;box-shadow:none!important}
body.vs .vs-el input[type=text],body.vs .vs-el input[type=email],body.vs .vs-el input[type=tel],body.vs .vs-el input[type=number],body.vs .vs-el select,body.vs .vs-el textarea{border:1px solid #D3CEC1!important;border-radius:12px!important;min-height:48px;font-size:16px!important;background:#fff!important;color:var(--ink)!important}
body.vs .vs-el .vs-card-like{background-color:#fff!important;border-radius:20px!important;box-shadow:none!important;border:0!important}
body.vs .vs-el img{border-radius:20px}
.vs-trust{padding-top:120px}
.vs-trust__box{margin-top:32px;background:#fff;border-radius:24px;padding:28px;min-height:120px}
.vs-view-listing .vs-trust{padding:64px 0 0}
.vs-view-page .vs-trust{padding-top:0;padding-bottom:96px}
@media (max-width:760px){.vs-trust{padding-top:72px}.vs-trust__box{padding:14px;border-radius:18px}body.vs .vs-el{padding-bottom:56px}}

/* --- v1.1.7: mobile fixes --- */
.vs-search label{min-width:0;overflow:hidden}
.vs-search button{min-width:0}
.vs-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;-webkit-overflow-scrolling:touch}
.vs-prose th,.vs-prose td{padding:10px 12px;font-size:15px}
@media (max-width:760px){.vs-search input[type=date]{font-size:15px}.vs-search .vs-btn--lg{padding:16px}}

.vs-check a{color:var(--ink)!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:800!important}

/* --- v1.2.4: one typeface everywhere; legal pages share one layout --- */
body.vs h1,body.vs h2,body.vs h3,body.vs h4,body.vs h5,body.vs h6,body.vs button,body.vs input,body.vs select,body.vs textarea{font-family:'Archivo',system-ui,sans-serif}
body.vs .vs-article .vs-prose,body.vs .vs-article .vs-prose p,body.vs .vs-article .vs-prose li,body.vs .vs-article .vs-prose>span,body.vs .vs-article .vs-prose p span,body.vs .vs-article .vs-prose div:not(:has(table)){font-family:'Archivo',system-ui,sans-serif!important;font-size:17px!important;line-height:1.55!important;color:var(--ink)!important}
body.vs .vs-article .vs-prose h2{font-size:26px!important;font-weight:700!important;line-height:1.3!important;text-transform:none!important;letter-spacing:-.01em!important;color:var(--ink)!important;margin:40px 0 12px!important}
body.vs .vs-article .vs-prose h3,body.vs .vs-article .vs-prose h4{font-size:20px!important;font-weight:700!important;line-height:1.3!important;text-transform:none!important;color:var(--ink)!important;margin:28px 0 10px!important}
body.vs .vs-article .vs-prose h1{display:none}
body.vs .vs-article .vs-prose a{color:var(--ink)!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:600}
body.vs .vs-article .vs-prose *:not(table):not(thead):not(tbody):not(tr):not(th):not(td):not(caption){background-color:transparent!important;max-width:100%}
body.vs .vs-article .vs-prose th,body.vs .vs-article .vs-prose td{font-family:'Archivo',system-ui,sans-serif!important}
body.vs .vs-article .vs-prose>div,body.vs .vs-article .vs-prose section{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}

.vs-cover{margin-top:6px;background:var(--stone);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.45;color:var(--ink)}
.vs-cover strong{font-size:14px}
.vs-cover small{font-size:13px;color:var(--mute)}

.vs-cover__link{color:var(--ink)!important;font-weight:800;text-decoration:underline!important;text-underline-offset:3px;align-self:flex-start}
.vs-note{margin:28px 0 0;padding:14px 16px;background:var(--stone);border-radius:12px;font-size:16px;max-width:720px}

.vs-min{display:block;margin-top:8px;padding:10px 12px;border-radius:10px;background:#FBF3DF;color:#6B4E12;font-size:14px;font-weight:600}
.vs-min__btn{margin-top:8px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);border-radius:10px;padding:10px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;min-height:44px}


/* v1.4.3 booking card: fits one screen, button always in view */
.vs-change{display:none;background:none;border:0;padding:0;margin:0 0 12px;font:inherit;font-size:13px;color:#8A6A30;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.vs-book.is-quoted .vs-change{display:inline-block}
.vs-book.is-quoted .vs-cal{display:none}
.vs-book.is-quoted #vs-range{margin-bottom:4px;font-weight:600}
.vs-book.is-quoted .vs-book__step[data-step="dates"]:not([hidden]){display:grid;grid-template-columns:1fr 1fr;column-gap:14px;align-items:start}
.vs-book.is-quoted .vs-book__step[data-step="dates"]>*{grid-column:1/-1;min-width:0}
.vs-book.is-quoted .vs-book__step[data-step="dates"]>label.vs-field{grid-column:auto}
.vs-book .vs-cover{padding:10px 12px;margin-top:10px;font-size:12.5px;line-height:1.4;gap:3px}
.vs-book .vs-cover strong{font-size:13px}
.vs-book .vs-cover small{font-size:11.5px;line-height:1.35}
.vs-book .vs-cover small:empty{display:none}
.vs-book.is-quoted{padding:22px}
.vs-book.is-quoted .vs-book__top{margin-bottom:12px}
.vs-book.is-quoted .vs-opt{display:none}
.vs-book.is-quoted #vs-lines{margin:12px 0}
.vs-book.is-quoted #vs-quote{margin-top:10px}
.vs-book .vs-book__step[data-step="dates"]>.vs-cover{margin-top:14px}
@media (min-width:1101px){
  .vs-book{max-height:calc(100vh - 76px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .vs-book #vs-quote,.vs-book #vs-pay-btn{position:sticky;bottom:0;z-index:3;box-shadow:0 -16px 14px -6px #fff,0 12px 0 0 #fff}
}

/* v1.4.5 details step fits one screen too */
.vs-change{justify-self:start;text-transform:none;letter-spacing:0;text-align:left}
.vs-book[data-at="details"] .vs-book__top{display:none}
.vs-book[data-at="details"]{padding:22px}
.vs-book form.vs-book__step:not([hidden]){display:grid;grid-template-columns:1fr 1fr;column-gap:14px;align-items:start}
.vs-book form.vs-book__step>*{grid-column:1/-1;min-width:0}
.vs-book form.vs-book__step>label.vs-field{grid-column:auto}
.vs-book form.vs-book__step>.vs-cover{margin-top:12px}
.vs-book form.vs-book__step #vs-lines2{margin:0 0 6px}
.vs-book form.vs-book__step .vs-check{margin-top:8px}

/* v1.4.6 phones: pinned Book bar on house pages */
.vs-bar{display:none}
@media (max-width:1100px){
  .vs-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #E6E1D6;box-shadow:0 -6px 20px rgba(23,33,28,.10)}
  .vs-bar.is-hidden{display:none}
  .vs-bar b{font-size:20px;color:#17211C}
  .vs-bar span{font-size:12px;color:#5B655F}
  .vs-bar .vs-btn{padding:12px 16px;font-size:13px;white-space:nowrap}
  .vs-view-listing .cky-btn-revisit-wrapper{bottom:78px!important}
  .vs-view-listing .vs-book{scroll-margin-top:12px}
  body.vs-view-listing{padding-bottom:70px}
}

/* v1.4.7 phones and tablets: booking box sits right under the house title, not below the details */
@media (max-width:1100px){
  .vs-listing{row-gap:0}
  .vs-listing__main{display:contents}
  .vs-listing__main>*{min-width:0}
  .vs-listing__main>.vs-eyebrow,.vs-listing__main>.vs-display,.vs-listing__main>.vs-pills{order:-3}
  .vs-listing>.vs-book{order:-2;margin:26px 0 6px}
}

/* v1.4.8 date step: guests and code share a row at every size so Check price stays on screen */
.vs-book .vs-book__step[data-step="dates"]:not([hidden]){display:grid;grid-template-columns:1fr 1fr;column-gap:14px;align-items:start}
.vs-book .vs-book__step[data-step="dates"]>*{grid-column:1/-1;min-width:0}
.vs-book .vs-book__step[data-step="dates"]>label.vs-field{grid-column:auto}
.vs-book .vs-opt{display:none}
@media (max-width:1100px){
  .vs-book{padding:20px}
  .vs-book .vs-book__top{margin-bottom:12px}
  .vs-book .flatpickr-day{height:35px;line-height:35px}
  .vs-book #vs-quote{margin-top:12px}
}

/* v1.5.0 landlord testimonial removed: collapse its empty section */
.elementor-element-76fe6ef2{display:none!important}
