/*
Theme Name: Group Stays (GeneratePress Child)
Theme URI: https://groupstays.co.za
Description: Child theme for Group Stays. CPT gs_stay, taxonomies gs_region / gs_unit_type. Built for GeneratePress One (GP Premium + GenerateBlocks Pro). Self-hosted Inter Tight + Inter (SIL OFL).
Author: Group Stays
Requires PHP: 7.4
Template: generatepress
Version: 0.5.9
Text Domain: groupstays
*/

/* ---------- Tokens ---------- */
:root{
  --bush:#2F5D50;--bush-d:#244A40;--bush-l:#DCEBE5;--clay:#C8553D;--clay-d:#A9432F;--sun:#F2A541;--sun-l:#FCE9C8;
  --sand:#F7F1E5;--sand-2:#EFE6D4;--ink:#22302B;--muted:#5B6B64;--line:#E2D6BF;--white:#fff;
  --head:'Inter Tight','Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:18px;--r-s:12px;--shadow:0 1px 2px rgba(34,48,43,.06),0 10px 30px rgba(34,48,43,.08);--shadow-h:0 2px 4px rgba(34,48,43,.08),0 18px 40px rgba(34,48,43,.14);
  --wrap:1240px;--gutter:clamp(18px,4vw,40px);
}

/* ---------- Base ---------- */
body{font-family:var(--body);font-size:16.5px;line-height:1.65;font-feature-settings:"cv11","ss01";color:var(--ink);background:var(--sand);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.gs-serif{font-family:var(--head);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
h1{font-weight:800;letter-spacing:-.028em}h3,h4{letter-spacing:-.012em;font-weight:700}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem)}h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}h3{font-size:1.25rem}
a{color:var(--clay);text-underline-offset:3px}a:hover,a:focus{color:var(--clay-d)}
::selection{background:var(--sun-l)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.separate-containers .inside-article,.one-container .container{background:transparent}
button,.button,input[type=submit],.wp-block-button__link{border-radius:999px;font-weight:600}

/* Buttons */
.gs-btn,a.gs-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--clay);color:#fff;border:0;border-radius:999px;padding:.85em 1.5em;font:600 1rem/1.1 var(--body);text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 6px 18px rgba(200,85,61,.28)}
.gs-btn:hover,.gs-btn:focus{background:var(--clay-d);color:#fff;transform:translateY(-1px)}
.gs-btn--ghost,a.gs-btn--ghost{background:transparent;color:var(--bush);box-shadow:inset 0 0 0 2px var(--bush)}
.gs-btn--ghost:hover{background:var(--bush);color:#fff}
.gs-btn--light,a.gs-btn--light{background:#fff;color:var(--ink);box-shadow:none}.gs-btn--light:hover{background:var(--sun);color:var(--ink)}
.gs-btn--block{display:flex;width:100%;margin:.5rem 0}
.gs-eyebrow{display:inline-block;font:600 .78rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin:0 0 .9rem}

/* ---------- Header ---------- */
.site-header{background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);position:sticky;top:0;z-index:100;box-shadow:0 1px 0 var(--line)}
.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:0}}
.inside-header{padding:14px var(--gutter);max-width:var(--wrap)}
.site-logo img,.site-header .header-image{height:52px;width:auto}
.main-navigation,.main-navigation ul ul{background:transparent}
.main-navigation .main-nav ul li a{font:600 .98rem/1 var(--body);color:var(--ink);padding:0 16px;line-height:56px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a,.main-navigation .main-nav ul li.current_page_item>a{color:var(--clay);background:transparent}
.main-navigation .main-nav ul li[class*=current]>a{box-shadow:inset 0 -3px 0 var(--sun)}
.main-navigation .main-nav ul ul{background:#fff;border-radius:var(--r-s);box-shadow:var(--shadow);padding:6px 0}
.main-navigation .menu-bar-items{align-items:center}
.gs-nav-cta{display:inline-flex;align-items:center;margin-left:10px;padding:.7em 1.25em;border-radius:999px;background:var(--clay);color:#fff!important;font:600 .95rem/1 var(--body);text-decoration:none;box-shadow:0 6px 16px rgba(200,85,61,.25);white-space:nowrap}
.gs-nav-cta:hover{background:var(--clay-d)}
.menu-toggle,.main-navigation .menu-toggle{color:var(--ink);background:transparent;font-weight:600}
@media(max-width:768px){
  .inside-header{padding:10px 18px}.site-logo img,.site-header .header-image{height:42px}
  .gs-nav-cta{padding:.6em 1em;font-size:.88rem;margin-left:4px}
  .main-navigation.toggled .main-nav>ul{background:#fff;border-radius:var(--r-s);box-shadow:var(--shadow);padding:6px 0}
  .main-navigation .main-nav ul li a{line-height:48px}
}

/* ---------- Full-width views (home + stay templates) ---------- */
.gs-view .site.grid-container{max-width:100%;padding:0}
.gs-view .site-content{display:block;padding:0}
.gs-view .content-area{width:100%}
.gs-view.separate-containers .inside-article,.gs-view .inside-article{padding:0;margin:0;background:transparent}
.gs-view .site-main{margin:0}
.home .entry-content{margin-top:0}
.home .entry-content>*{margin-top:0;margin-bottom:0}
.gs-wrap{max-width:var(--wrap);margin:0 auto;padding:clamp(40px,6vw,72px) var(--gutter)}
.gs-section-title{margin:2.4rem 0 1.2rem}

/* Normal pages (About, Contact, ...) */
body.page:not(.home) .site-content{padding-top:0}
body.page:not(.home) .inside-article{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(24px,5vw,56px);margin:40px 0}
body.page:not(.home) .entry-title{font-size:clamp(2rem,4vw,3rem)}
body.page:not(.home) .site.grid-container{max-width:900px}

/* ---------- Home: hero ---------- */
.gs-hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:center;color:#fff;overflow:hidden;isolation:isolate;border-radius:0 0 clamp(24px,4vw,48px) clamp(24px,4vw,48px)}
.gs-hero__bg{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:-2;max-width:none}
.gs-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(26,40,35,.86) 0%,rgba(26,40,35,.62) 42%,rgba(26,40,35,.12) 75%),linear-gradient(0deg,rgba(26,40,35,.45),transparent 40%)}
.gs-hero__inner{width:100%;max-width:var(--wrap);margin:0 auto;padding:clamp(56px,9vw,110px) var(--gutter)}
.gs-hero .gs-eyebrow{color:var(--sun);background:rgba(255,255,255,.12);padding:.6em 1em;border-radius:999px;backdrop-filter:blur(4px)}
.gs-hero__title{color:#fff;font-size:clamp(2.5rem,6vw,4.6rem);max-width:13ch;margin:.2em 0 .35em;font-weight:700}
.gs-hero__title em{font-style:italic;color:var(--sun);font-weight:600}
.gs-hero__lead{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:44ch;color:rgba(255,255,255,.92);margin:0 0 1.8rem}
.gs-finder{background:rgba(255,255,255,.97);color:var(--ink);border-radius:var(--r);box-shadow:0 24px 60px rgba(0,0,0,.25);padding:20px 22px;max-width:760px;display:grid;gap:14px}
.gs-finder__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gs-finder__label{font:600 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:118px;margin:0}
.gs-pill,a.gs-pill{display:inline-flex;align-items:center;padding:.55em 1.05em;border-radius:999px;background:var(--sand);color:var(--ink);font:600 .92rem/1 var(--body);text-decoration:none;transition:background .15s,color .15s;border:1px solid var(--line);margin:0}
a.gs-pill:hover{background:var(--bush);border-color:var(--bush);color:#fff}
.gs-pill--size{background:var(--sun-l);border-color:#F4D69F}
.gs-pill--light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}a.gs-pill--light:hover{background:#fff;color:var(--ink)}
.gs-pill--green{background:var(--bush-l);border-color:var(--bush-l);color:var(--bush)}
.gs-pill--sun{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.gs-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}
.gs-hero__credit{position:absolute;right:16px;bottom:12px;font-size:.72rem;color:rgba(255,255,255,.75);margin:0}
.gs-hero__credit a{color:inherit}

/* ---------- Home: trust strip ---------- */
.gs-trust{max-width:var(--wrap);margin:-46px auto 0;padding:0 var(--gutter);position:relative;z-index:2}
.gs-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow)}
.gs-trust__item{padding:26px 24px;border-left:1px solid var(--line)}.gs-trust__item:first-child{border-left:0}
.gs-trust__item h3{font-size:1.08rem;margin:.7rem 0 .3rem}
.gs-trust__item p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.5}
.gs-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--sun-l);margin:0}
.gs-ico::before{content:"";width:24px;height:24px;background:var(--clay);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.gs-ico--bed{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18v-7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v7M2 15h20M6 9V6a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3M13 9V6a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3M2 18v2M22 18v2'/%3E%3C/svg%3E")}
.gs-ico--people{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20v-1a5 5 0 0 1 5-5h2a5 5 0 0 1 5 5v1M15 14.5a4 4 0 0 1 6 3.5v2'/%3E%3C/svg%3E")}
.gs-ico--rand{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-6 9 6v10H3z'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E")}
.gs-ico--shield{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E")}

/* ---------- Home sections ---------- */
.gs-section{max-width:var(--wrap);margin:0 auto;padding:clamp(56px,8vw,96px) var(--gutter) 0}
.gs-section__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}
.gs-section__head h2{margin:0;max-width:22ch}
.gs-section__head p{margin:.5rem 0 0;color:var(--muted);max-width:52ch}
.gs-link,a.gs-link{font-weight:600;color:var(--bush);text-decoration:none;border-bottom:2px solid var(--sun);padding-bottom:2px}
.gs-link:hover{color:var(--clay)}

/* Region cards (GB static on home + PHP on archives) */
.gs-regions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gs-region-card,a.gs-region-card{position:relative;display:flex;align-items:flex-end;min-height:280px;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.gs-region-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);color:#fff}
.gs-region-card img,.gs-region-card__img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:-2;transition:transform .6s;max-width:none}
.gs-region-card:hover img{transform:scale(1.05)}
.gs-region-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(26,40,35,.88) 0%,rgba(26,40,35,.35) 50%,rgba(26,40,35,0) 75%)}
.gs-region-card__body{display:block;padding:22px 22px 20px}
.gs-region-card__name{display:block;font:700 1.55rem/1.1 var(--head);color:#fff;margin:0}
.gs-region-card__desc{display:block;margin:.35rem 0 0;font-size:.93rem;color:rgba(255,255,255,.88);line-height:1.45}
.gs-region-card.is-safari::after{content:"Malaria-free";position:absolute;top:16px;left:16px;background:var(--bush-l);color:var(--bush);font:600 .75rem/1 var(--body);padding:.55em .9em;border-radius:999px}
.gs-regions .gs-region-card:first-child{grid-row:span 2;min-height:580px}
.gs-regions .gs-region-card:nth-child(6):last-child{grid-column:1/-1;min-height:260px}

/* Audiences */
.gs-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gs-group{background:#fff;border-radius:var(--r);padding:30px 28px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.gs-group::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--sun-l);z-index:0}
.gs-group>*{position:relative;z-index:1}
.gs-group__num{font:700 3rem/1 var(--head);color:var(--clay);margin:0}
.gs-group h3{margin:.6rem 0 .4rem;font-size:1.35rem}
.gs-group p{margin:0;color:var(--muted)}

/* Featured stays query (GB) + cards */
.gs-cards,.gs-featured .gs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gs-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.gs-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h)}
.gs-card__media{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,var(--sun),var(--clay));overflow:hidden}
.gs-card__media img{width:100%;height:100%;object-fit:cover}
.gs-badge{position:absolute;top:12px;left:12px;font:600 .74rem/1 var(--body);padding:.55em .85em;border-radius:999px}
.gs-badge+.gs-badge{left:auto;right:12px}
.gs-badge--green{background:var(--bush-l);color:var(--bush)}.gs-badge--sun{background:var(--sun);color:var(--ink)}
.gs-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:.45rem;flex:1}
.gs-card__where{margin:0;font:600 .78rem/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}
.gs-card__title{margin:0;font-size:1.3rem}.gs-card__title a{color:var(--ink);text-decoration:none}.gs-card__title a:hover{color:var(--clay)}
.gs-card__facts{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.93rem}
.gs-fact-inline b{color:var(--ink);font-family:var(--head);font-size:1.1rem;margin-right:3px}
.gs-card__price{margin:auto 0 0;padding-top:.6rem;border-top:1px dashed var(--line);font-size:.9rem;color:var(--muted)}
.gs-card__link{margin-top:auto;font-weight:600;text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:.2rem 0}
.chip{background:var(--sand);border:1px solid var(--line);border-radius:999px;padding:.3em .8em;font:600 .78rem/1.2 var(--body);color:var(--ink)}
.chip.g{background:var(--bush-l);border-color:var(--bush-l);color:var(--bush)}
.gs-noresults{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:28px;background:#fff;border-radius:var(--r);padding:clamp(24px,4vw,44px);box-shadow:var(--shadow);border:2px dashed var(--line)}
.gs-noresults h3{font-size:1.6rem;margin:0 0 .5rem}.gs-noresults p{margin:0 0 1.2rem;color:var(--muted)}
.gs-noresults__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gs-noresults__list li{display:flex;gap:10px;align-items:flex-start;margin:0;font-weight:600}
.gs-noresults__list li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--bush-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F5D50' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}

/* CTA band */
.gs-cta{position:relative;isolation:isolate;overflow:hidden;margin:clamp(56px,8vw,96px) 0;border-radius:clamp(20px,3vw,32px);color:#fff;padding:clamp(40px,7vw,84px) clamp(24px,6vw,72px)}
.gs-cta__bg{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:-2;max-width:none}
.gs-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(36,74,64,.94) 0%,rgba(36,74,64,.7) 45%,rgba(36,74,64,.08) 100%)}
.gs-cta h2{color:#fff;max-width:18ch;margin:0 0 .6rem}.gs-cta p{max-width:48ch;color:rgba(255,255,255,.9);margin:0 0 1.6rem}
.gs-cta .gs-eyebrow{color:var(--sun)}
.gs-cta__wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* ---------- Listing pages ---------- */
.gs-page-hero{position:relative;isolation:isolate;color:#fff;background:var(--bush) var(--gs-bg,none) center/cover no-repeat;border-radius:0 0 clamp(20px,3vw,40px) clamp(20px,3vw,40px);overflow:hidden}
.gs-page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(26,40,35,.88),rgba(26,40,35,.55) 55%,rgba(26,40,35,.2))}
.gs-page-hero__inner{max-width:var(--wrap);margin:0 auto;padding:clamp(44px,7vw,92px) var(--gutter) clamp(44px,6vw,80px)}
.gs-page-hero h1{color:#fff;margin:.1em 0 .3em;max-width:20ch}
.gs-page-hero .gs-eyebrow{color:var(--sun)}
.gs-page-hero__lead{max-width:56ch;color:rgba(255,255,255,.92);font-size:1.1rem}.gs-page-hero__lead p{margin:0}
.gs-crumbs{font-size:.88rem;color:rgba(255,255,255,.8);margin-bottom:1.4rem;display:flex;gap:8px;flex-wrap:wrap}
.gs-crumbs a{color:#fff;text-decoration:none;font-weight:600}.gs-crumbs a:hover{text-decoration:underline}
.gs-photo-note{position:absolute;right:18px;bottom:12px;margin:0;font-size:.74rem;color:rgba(255,255,255,.75)}
.gs-listing{padding-top:0}
.gs-count{font-weight:600;color:var(--muted);margin:0 0 14px}
.gs-empty{text-align:center;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(32px,5vw,56px) clamp(20px,5vw,64px)}
.gs-empty h2{margin:.6rem auto .5rem;max-width:24ch}.gs-empty p{max-width:58ch;margin:0 auto 1rem;color:var(--muted)}
.gs-empty__icon{width:84px;height:84px;margin:0 auto;border-radius:24px;background:var(--bush) url("assets/icon.svg") center/100% no-repeat}
.gs-pagination,.gs-listing .nav-links{margin-top:30px;text-align:center}

/* Single stay */
.gs-stay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.gs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin:-80px 0 22px;position:relative;z-index:2}
.gs-fact{background:#fff;border-radius:var(--r);padding:18px;text-align:center;box-shadow:var(--shadow)}
.gs-fact b{display:block;font:700 2.2rem/1 var(--head);color:var(--clay)}.gs-fact span{font-weight:700;color:var(--muted);font-size:.92rem}
.gs-stay h2{font-size:1.7rem;margin:2rem 0 .8rem}
.gs-prose{font-size:1.08rem}
.gs-know,.gs-beds{list-style:none;margin:0;padding:0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.gs-know li,.gs-beds li{display:flex;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid var(--line);margin:0}
.gs-know li:first-child,.gs-beds li:first-child{border-top:0}
.gs-know span{color:var(--muted);font-weight:600}.gs-know b{text-align:right}
.gs-stay__aside{position:sticky;top:110px;margin-top:-80px;z-index:3}
.gs-book{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-h);padding:26px;border-top:6px solid var(--sun)}
.gs-book__label{margin:0;font:600 .76rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.gs-book__price{font:700 1.3rem/1.3 var(--head);margin:.5rem 0}
.gs-book__small,.gs-book__fine{font-size:.86rem;color:var(--muted);margin:.4rem 0 1rem}.gs-book__fine{margin:1rem 0 0}
.gs-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:20px 0}.gs-gallery img{width:100%;height:180px;object-fit:cover;border-radius:var(--r-s)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#C9D3CE;margin-top:clamp(56px,8vw,96px)}
.gs-cta+*~.site-footer{margin-top:0}
.gs-footer__inner{max-width:var(--wrap);margin:0 auto;padding:clamp(48px,7vw,80px) var(--gutter) 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.gs-footer__brand img{height:52px;width:auto;margin-bottom:14px}
.gs-footer__brand p,.gs-footer__note p{font-size:.95rem;line-height:1.6;margin:0 0 .8rem}
.gs-footer h2{font:600 .8rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--sun);margin:.4rem 0 1.1rem}
.gs-footer ul{list-style:none;margin:0;padding:0}.gs-footer li{margin:0 0 .55rem}
.gs-footer a{color:#fff;text-decoration:none;font-weight:600}.gs-footer a:hover{color:var(--sun)}
.gs-footer__bar{max-width:var(--wrap);margin:0 auto;padding:20px var(--gutter) 28px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.84rem;color:#9FB0A8}
.site-info{display:none}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .gs-trust__grid{grid-template-columns:repeat(2,1fr)}.gs-trust__item:nth-child(3){border-left:0}.gs-trust__item:nth-child(n+3){border-top:1px solid var(--line)}
  .gs-cards,.gs-featured .gs-cards,.gs-regions{grid-template-columns:repeat(2,1fr)}
  .gs-regions .gs-region-card:first-child{grid-row:auto;min-height:280px;grid-column:span 2}
  .gs-footer__inner{grid-template-columns:1fr 1fr}
  .gs-stay{grid-template-columns:1fr}.gs-stay__aside{position:static;margin-top:0}
}
@media(max-width:680px){
  body{font-size:16px}
  .gs-hero{min-height:0}.gs-hero__inner{padding-top:48px;padding-bottom:84px}
  .gs-hero::before{background:linear-gradient(180deg,rgba(26,40,35,.55),rgba(26,40,35,.85))}
  .gs-finder{padding:16px}.gs-finder__label{min-width:100%}
  .gs-trust{margin-top:-40px}.gs-trust__grid{grid-template-columns:1fr 1fr}.gs-trust__item{border-left:0;border-top:1px solid var(--line);padding:16px}.gs-trust__item:nth-child(-n+2){border-top:0}.gs-trust__item:nth-child(even){border-left:1px solid var(--line)}.gs-trust__item h3{font-size:1rem}.gs-trust__item p{font-size:.84rem;line-height:1.45}
  .gs-cards,.gs-featured .gs-cards,.gs-regions,.gs-groups{grid-template-columns:1fr}
  .gs-regions .gs-region-card:first-child{grid-column:auto}
  .gs-region-card{min-height:220px}
  .gs-noresults{grid-template-columns:1fr}
  .gs-facts{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:-50px}.gs-fact{padding:14px 8px}
  .gs-footer__inner{grid-template-columns:1fr;gap:28px}
  .gs-hero__credit,.gs-photo-note{left:14px;right:14px;bottom:8px;text-align:right;font-size:.66rem;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


/* =========================================================
   v0.4.0: single listing (mobile first)
   ========================================================= */
.gs-listing{--lw:var(--wrap)}
.gs-lhero{position:relative;isolation:isolate;overflow:hidden;color:#fff;min-height:min(72vh,560px);display:flex;align-items:flex-end;border-radius:0 0 clamp(20px,4vw,40px) clamp(20px,4vw,40px)}
.gs-lhero__img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:-2;max-width:none}
.gs-lhero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(26,40,35,.9) 0%,rgba(26,40,35,.45) 45%,rgba(26,40,35,.15) 100%)}
.gs-lhero--region::before{background:linear-gradient(0deg,rgba(36,74,64,.95) 0%,rgba(36,74,64,.6) 55%,rgba(36,74,64,.35) 100%)}
.gs-lhero__inner{width:100%;max-width:var(--wrap);margin:0 auto;padding:clamp(40px,8vw,90px) var(--gutter) clamp(84px,10vw,120px)}
.gs-lhero .gs-crumbs a,.gs-lhero .gs-crumbs{color:rgba(255,255,255,.9)}
.gs-lhero .gs-eyebrow{color:var(--sun)}
.gs-lhero__title{color:#fff;font-size:clamp(2.2rem,6vw,4.2rem);max-width:18ch;margin:.1em 0 .45em}
.gs-lhero__badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gs-sleeps-badge{display:inline-flex;align-items:baseline;gap:.35em;background:var(--sun);color:var(--ink);border-radius:999px;padding:.45em 1em;font:600 .95rem/1 var(--body)}
.gs-sleeps-badge b{font:700 1.35rem/1 var(--head)}
.gs-lhero__all{position:absolute;right:var(--gutter);bottom:clamp(84px,10vw,120px);background:rgba(255,255,255,.95);color:var(--ink);border:0;border-radius:999px;padding:.7em 1.2em;font:600 .9rem/1 var(--body);cursor:pointer;box-shadow:var(--shadow);display:none}
.gs-lhero .gs-photo-note{bottom:70px}

.gs-keyfacts{position:relative;z-index:3;max-width:calc(var(--wrap) - 2*var(--gutter));margin:-56px var(--gutter) 0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-h);display:grid;grid-template-columns:repeat(2,1fr)}
@media(min-width:1321px){.gs-keyfacts{margin-left:auto;margin-right:auto}}
.gs-keyfact{padding:14px 16px;border-top:1px solid var(--line);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.gs-keyfact:nth-child(-n+2){border-top:0}.gs-keyfact:nth-child(odd){border-left:0}
.gs-keyfact__label{font:600 .7rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.gs-keyfact__value{font:700 1.35rem/1.15 var(--head);color:var(--ink)}
.gs-keyfact small{font-size:.78rem;color:var(--muted);line-height:1.3}

.gs-listing__grid{max-width:var(--wrap);margin:0 auto;padding:clamp(28px,5vw,56px) var(--gutter) 0;display:grid;gap:32px}
.gs-listing__main{min-width:0}
.gs-lsec{margin:0 0 clamp(36px,5vw,56px)}
.gs-lsec h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 .9rem}
.gs-prose{font-size:1.06rem;line-height:1.75}.gs-prose p{margin:0 0 1em}
.gs-muted{color:var(--muted)}

.gs-lgallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 clamp(36px,5vw,56px)}
.gs-lgallery__item{position:relative;padding:0;border:0;border-radius:var(--r-s);overflow:hidden;cursor:zoom-in;background:var(--sand-2);aspect-ratio:4/3}
.gs-lgallery__item.is-lead{grid-column:1/-1;aspect-ratio:16/10}
.gs-lgallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gs-lgallery__item:hover img{transform:scale(1.04)}
.gs-lgallery__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(34,48,43,.55);color:#fff;font:600 1.1rem/1 var(--body)}
.gs-lgallery__item:nth-child(n+4){display:none}

.gs-why{background:var(--bush);color:#F2F7F4;border-radius:var(--r);padding:clamp(24px,5vw,44px);position:relative;overflow:hidden}
.gs-why::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(242,165,65,.18)}
.gs-why .gs-eyebrow{color:var(--sun)}
.gs-why__text{font:500 clamp(1.15rem,2vw,1.38rem)/1.5 var(--head);letter-spacing:-.012em;color:#fff;position:relative}
.gs-why__text p:last-child{margin-bottom:0}

.gs-rooms{display:grid;gap:12px}
.gs-room{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:var(--r-s);padding:16px 18px;box-shadow:var(--shadow)}
.gs-room h3{font-size:1.08rem;margin:0 0 .2rem}.gs-room p{margin:0;color:var(--ink)}.gs-room .gs-room__meta{color:var(--muted);font-size:.88rem;margin-top:.2rem}
.gs-room__meta:empty{display:none}
.gs-room__icon{flex:0 0 40px;height:40px;border-radius:12px;background:var(--sun-l);position:relative}
.gs-room__icon::after{content:"";position:absolute;inset:9px;background:var(--clay);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4M12 4v6M2 18h20'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4M12 4v6M2 18h20'/%3E%3C/svg%3E") center/contain no-repeat}

.gs-amenities{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gs-amenities li{margin:0;display:inline-flex;align-items:center;gap:.45em;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5em 1em;font:600 .92rem/1.2 var(--body)}
.gs-amenities li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bush)}

.gs-know2{margin:0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.gs-know2>div{display:grid;gap:2px;padding:14px 20px;border-top:1px solid var(--line)}.gs-know2>div:first-child{border-top:0}
.gs-know2 dt{font:600 .78rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gs-know2 dd{margin:0}

.gs-loc__where{font-weight:600}
.gs-map{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/10;background:var(--sand-2)}
.gs-map iframe{width:100%;height:100%;border:0;display:block}
.gs-map__link{margin:.6rem 0 0;font-size:.92rem}

/* v0.5 booking sidebar */
.gs-listing__aside{min-width:0}
.gs-bookbox{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-h);padding:22px 22px 18px;position:relative;overflow:hidden}
.gs-bookbox::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--clay),var(--sun))}
.gs-bookbox__eyebrow{display:block;font:600 .72rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.gs-bookbox__amount{margin:.35rem 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:.2em .45em}
.gs-bookbox__amount b{font:800 clamp(2rem,3.4vw,2.35rem)/1 var(--head);letter-spacing:-.03em;color:var(--ink)}
.gs-bookbox__amount span{font:600 .92rem/1.2 var(--body);color:var(--muted)}
.gs-bookbox__amount--text b{font-size:1.7rem}
.gs-bookbox__qual{margin:.4rem 0 0;font-size:.84rem;line-height:1.45;color:var(--muted)}
.gs-bookbox__rows{margin:16px 0 0;border-top:1px solid var(--line)}
.gs-bookbox__rows>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.gs-bookbox__rows dt{color:var(--muted);font-weight:500}.gs-bookbox__rows dd{margin:0;font-weight:600;text-align:right;color:var(--ink)}
.gs-est{margin:16px 0 0;background:var(--sand);border-radius:var(--r-s);padding:14px 14px 12px}
.gs-est__title{margin:0 0 10px;font:700 .95rem/1.2 var(--head);letter-spacing:-.01em}
.gs-est__inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.gs-est__inputs label{display:grid;gap:5px;margin:0;font:600 .72rem/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gs-step{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:999px;overflow:hidden;height:38px}
.gs-step button{flex:0 0 36px;border:0;background:transparent;color:var(--bush);font:600 1.15rem/1 var(--body);cursor:pointer;padding:0}
.gs-step button:hover{background:var(--bush-l)}
.gs-step input{flex:1;min-width:0;width:100%;border:0;background:transparent;text-align:center;font:600 1rem/1 var(--body);color:var(--ink);padding:0;-moz-appearance:textfield}
.gs-step input::-webkit-outer-spin-button,.gs-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gs-est__out{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:12px 0 0;padding-top:10px;border-top:1px dashed var(--line)}
.gs-est__calc{font-size:.8rem;color:var(--muted);line-height:1.35}
.gs-est__total{text-align:right;white-space:nowrap}.gs-est__total small{display:block;font:600 .68rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gs-est__total b{font:800 1.35rem/1.1 var(--head);letter-spacing:-.02em;color:var(--bush)}
.gs-est__note{margin:8px 0 0;font-size:.74rem;line-height:1.45;color:var(--muted)}
.gs-bookbox__ctas{margin:16px 0 0;display:grid;gap:8px}
.gs-bookbox__primary{flex-direction:column;gap:3px;padding:.95em 1.2em}
.gs-bookbox__primary small{font:500 .78rem/1 var(--body);opacity:.9}
.gs-bookbox__ctas .gs-btn--ghost{padding:.7em 1.2em;font-size:.94rem}
.gs-bookbox__ask{display:flex;align-items:center;justify-content:center;gap:.5em;margin:4px 0 0;padding:.55em;font-weight:600;font-size:.95rem;color:var(--bush);text-decoration:none;border-radius:999px}
.gs-bookbox__ask span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bush-l);font-size:.8rem}
.gs-bookbox__ask:hover{background:var(--sand);color:var(--bush)}
.gs-bookbox__help{margin:0;font-size:.84rem;color:var(--muted);text-align:center}
.gs-bookbox__site{display:block;text-align:center;font-weight:600;font-size:.9rem;color:var(--muted)}
.gs-bookbox__fine{font-size:.76rem;color:var(--muted);margin:14px 0 0;line-height:1.5}
.gs-bookbox__verified{font-size:.74rem;color:var(--muted);margin:.35rem 0 0}

/* Section anchors (desktop) */
.gs-anchors{display:none}
/* Things to do + car hire */
.gs-todo{display:grid;gap:10px;margin:0 0 12px}
.gs-todo__card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.gs-todo__card:hover{border-color:var(--sun);box-shadow:var(--shadow)}
.gs-todo__label{font:700 1.05rem/1.25 var(--head);letter-spacing:-.01em}.gs-todo__via{font-size:.86rem;color:var(--clay);font-weight:600}
.gs-carhire{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--sun-l);border-radius:var(--r-s);text-decoration:none;color:var(--ink);font-size:.95rem;line-height:1.45}
.gs-carhire b{font-family:var(--head)}.gs-carhire small{color:var(--muted);font-size:.84rem;white-space:nowrap}
.gs-carhire__icon{flex:0 0 40px;height:40px;border-radius:12px;background:#fff;position:relative}
.gs-carhire__icon::after{content:"";position:absolute;inset:9px;background:var(--clay);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17V9l2-4h11l3 4h2v8M3 13h18M7 17a2 2 0 1 0 0 .1M17 17a2 2 0 1 0 0 .1'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17V9l2-4h11l3 4h2v8M3 13h18M7 17a2 2 0 1 0 0 .1M17 17a2 2 0 1 0 0 .1'/%3E%3C/svg%3E") center/contain no-repeat}
.gs-carhire__go{margin-left:auto;font-weight:600;color:var(--clay)}
.gs-fineprint{margin:10px 0 0;font-size:.78rem;color:var(--muted)}

/* Ask-a-question modal (Fluent Forms id 3) */
.gs-ask{border:0;padding:0;width:min(560px,94vw);max-height:92vh;border-radius:var(--r);background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(18,26,23,.35);overflow:auto}
.gs-ask::backdrop{background:rgba(18,26,23,.6);backdrop-filter:blur(2px)}
.gs-ask__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 0}
.gs-ask__head h2{font-size:1.45rem;margin:0}.gs-ask__head .gs-eyebrow{margin-bottom:.5rem}
.gs-ask__close{flex:0 0 40px;height:40px;border:0;border-radius:50%;background:var(--sand);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}
.gs-ask__intro{margin:.6rem 24px 0;color:var(--muted);font-size:.95rem}
.gs-ask__form{padding:14px 24px 4px}
.gs-ask__alt{margin:0;padding:0 24px 22px;font-size:.88rem;color:var(--muted)}
.gs-ask .gs-ff-locked .ff-el-form-control{background:var(--bush-l);border-color:transparent;color:var(--bush);font-weight:600}

.gs-mbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);box-shadow:0 -6px 24px rgba(34,48,43,.12);backdrop-filter:blur(6px)}
.gs-mbar span{color:var(--muted);line-height:1.15}.gs-mbar small{font-size:.78rem;font-weight:500}.gs-mbar b{font:800 1.3rem/1 var(--head);letter-spacing:-.02em;color:var(--ink)}
.gs-mbar .gs-btn{padding:.75em 1.3em;white-space:nowrap}
.single-gs_stay .site-footer{padding-bottom:70px}
.gs-related{margin-top:clamp(24px,4vw,48px)}

.gs-lightbox{border:0;padding:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:rgba(18,26,23,.96);color:#fff}
.gs-lightbox[open]{display:flex;align-items:center;justify-content:center}
.gs-lightbox::backdrop{background:rgba(18,26,23,.9)}
.gs-lightbox__fig{margin:0;max-width:min(1200px,92vw);text-align:center}
.gs-lightbox__fig img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:8px}
.gs-lightbox__fig figcaption{margin-top:.6rem;font-size:.9rem;color:rgba(255,255,255,.8)}
.gs-lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;width:48px;height:48px;font-size:1.8rem;line-height:1;cursor:pointer}
.gs-lightbox button:hover{background:rgba(255,255,255,.25)}
.gs-lightbox__close{top:16px;right:16px}.gs-lightbox__prev{left:12px;top:50%;transform:translateY(-50%)}.gs-lightbox__next{right:12px;top:50%;transform:translateY(-50%)}

@media(min-width:681px){
  .gs-keyfacts{grid-template-columns:repeat(4,1fr)}
  .gs-keyfact:nth-child(-n+4){border-top:0}.gs-keyfact:nth-child(odd){border-left:1px solid var(--line)}.gs-keyfact:nth-child(4n+1){border-left:0}
  .gs-lgallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(320px,42vw,460px)}
  .gs-lgallery__item,.gs-lgallery__item.is-lead{aspect-ratio:auto}
  .gs-lgallery__item.is-lead{grid-column:1;grid-row:1/3}
  .gs-lgallery__item:nth-child(n+4){display:block}
  .gs-rooms{grid-template-columns:repeat(2,1fr)}
  .gs-know2>div{grid-template-columns:170px 1fr;gap:16px}
  .gs-lhero__all{display:inline-block}
}
@media(min-width:1025px){
  .gs-keyfacts{display:flex}
  .gs-keyfact{flex:1 1 0;padding:14px 14px;border-top:0!important;border-left:1px solid var(--line)!important}.gs-keyfact:first-child{border-left:0!important}
  .gs-keyfact__value{font-size:1.15rem}
  .gs-listing__grid{grid-template-columns:minmax(0,1fr) 372px;gap:52px;align-items:start}
  .gs-listing__main{grid-column:1;grid-row:1}
  .gs-listing__aside{grid-column:2;grid-row:1;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;scrollbar-width:thin;padding:0 4px 8px;margin:0 -4px}
  .admin-bar .gs-listing__aside{top:56px}
  .gs-anchors{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 28px;padding:6px;background:#fff;border-radius:999px;box-shadow:var(--shadow);width:max-content;max-width:100%}
  .gs-anchors a{padding:.55em 1em;border-radius:999px;font:600 .88rem/1 var(--body);color:var(--ink);text-decoration:none}
  .gs-anchors a:hover{background:var(--sand);color:var(--bush)}
  .gs-todo{grid-template-columns:repeat(2,1fr)}
  .gs-mbar{display:none}
  .single-gs_stay .site-footer{padding-bottom:0}
}

/* =========================================================
   v0.4.0: About page blocks
   ========================================================= */
.gs-about__intro h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 .8rem}
.gs-lead{font-size:1.2rem;line-height:1.65}
.gs-about__block{margin:clamp(32px,5vw,52px) 0 0}
.gs-about__block>h2{margin:0 0 .8rem}
.page .gs-groups{margin-top:1rem}
.gs-groups--two{grid-template-columns:repeat(2,1fr)}
a.gs-group--link{display:block;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
a.gs-group--link:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);color:var(--ink)}
.gs-group--link h3{margin-top:0}.gs-group--link .gs-link{display:inline-block;margin-top:.4rem}
.gs-cta--inline{margin:clamp(40px,6vw,64px) 0 0}
.gs-cta__btns{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:680px){.gs-groups--two{grid-template-columns:1fr}}

/* =========================================================
   v0.4.0: Fluent Forms in the Group Stays style
   ========================================================= */
.fluentform .ff-el-group{margin-bottom:18px}
.fluentform .ff-el-input--label label{font:600 .9rem/1.3 var(--body);color:var(--ink)}
.fluentform .ff-el-form-control{border:1.5px solid var(--line);border-radius:var(--r-s);background:var(--sand);padding:.8em 1em;font:400 1rem/1.4 var(--body);color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.fluentform .ff-el-form-control:focus{border-color:var(--bush);background:#fff;box-shadow:0 0 0 4px var(--bush-l);outline:0}
.fluentform textarea.ff-el-form-control{min-height:140px}
.fluentform .ff-el-is-error .ff-el-form-control{border-color:var(--clay)}
.fluentform .error.text-danger{color:var(--clay-d);font-size:.85rem;margin-top:4px}
.fluentform .ff-el-is-required.asterisk-right label:after{color:var(--clay)}
.fluentform .ff-t-container{gap:18px}
.fluentform .ff-btn-submit,.fluentform .ff-btn-submit:not(.ff_btn_no_style){background:var(--clay)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:.9em 1.8em!important;font:600 1rem/1.1 var(--body)!important;box-shadow:0 6px 18px rgba(200,85,61,.28);transition:background .2s,transform .2s}
.fluentform .ff-btn-submit:hover{background:var(--clay-d)!important;transform:translateY(-1px);opacity:1!important}
.ff-message-success{background:var(--bush-l);border:0!important;border-radius:var(--r);padding:20px 24px!important;color:var(--bush-d);box-shadow:none!important}
.ff-message-success p{margin:0}
@media(max-width:768px){.fluentform .ff-t-container{display:block}}
@media (max-width:680px){.gs-keyfact:last-child:nth-child(odd){grid-column:1/-1}}
/* v0.5.1: sister-site cards are divs (classic editor/TinyMCE splits block content inside <a>); the link stretches over the card */
.gs-group--link{transition:transform .2s,box-shadow .2s}
.gs-group--link:hover{transform:translateY(-3px);box-shadow:var(--shadow-h)}
.gs-group--link>*{position:relative;z-index:1}
.gs-group--link .gs-link::before{content:"";position:absolute;inset:-600px;z-index:2}

/* =========================================================
   v0.5.1: homepage hero (header over photo, finder chips)
   ========================================================= */
/* Header sits over the hero on the front page (html.gs-hdr-over is set by JS only) */
.gs-hdr-over .site-header{margin-bottom:calc(-1 * var(--gs-hdr-h,80px));background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;transition:background-color .25s,box-shadow .25s}
.gs-hdr-over .site-header::before{content:"";position:absolute;inset:0 0 -24px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(18,28,25,.55),rgba(18,28,25,0));transition:opacity .25s}
.gs-hdr-over:not(.gs-hdr-solid) .main-navigation .main-nav>ul>li>a,
.gs-hdr-over:not(.gs-hdr-solid) .menu-toggle,.gs-hdr-over:not(.gs-hdr-solid) .main-navigation .menu-toggle{color:#fff}
.gs-hdr-over:not(.gs-hdr-solid) .main-navigation .main-nav>ul>li:hover>a{color:var(--sun)}
.gs-hdr-over:not(.gs-hdr-solid) .main-navigation .main-nav>ul>li[class*=current]>a{color:#fff}
.gs-hdr-over.gs-hdr-solid .site-header{background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);box-shadow:0 1px 0 var(--line),0 8px 24px rgba(34,48,43,.08)}
.gs-hdr-over.gs-hdr-solid .site-header::before{opacity:0}
/* Open mobile menu: always the solid header with dark links (also covers browsers before the JS check runs) */
.gs-hdr-over .site-header:has(.main-navigation.toggled){background:#fff}
.gs-hdr-over .main-navigation.toggled .main-nav>ul>li>a{color:var(--ink)}
.gs-hdr-over .gs-hero__inner{padding-top:calc(var(--gs-hdr-h,80px) + clamp(40px,7vw,90px))}
@media(max-width:680px){.gs-hdr-over .gs-hero__inner{padding-top:calc(var(--gs-hdr-h,62px) + 36px)}}

/* Darker, softer scrim behind the hero text + a top band so the white header reads on bright skies */
.gs-hero::before{background:linear-gradient(180deg,rgba(18,28,25,.5) 0%,rgba(18,28,25,0) 26%),linear-gradient(100deg,rgba(22,34,30,.84) 0%,rgba(22,34,30,.6) 38%,rgba(22,34,30,.14) 70%,rgba(22,34,30,0) 100%),linear-gradient(0deg,rgba(22,34,30,.42),transparent 42%)}
.gs-hero__title,.gs-hero__lead{text-shadow:0 2px 18px rgba(10,18,15,.35)}
@media(max-width:680px){.gs-hero::before{background:linear-gradient(180deg,rgba(18,28,25,.62),rgba(18,28,25,.5) 35%,rgba(18,28,25,.86))}}

/* Finder chips: radio-like buttons (home.js swaps the links for buttons) */
.gs-chipgroup{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
button.gs-chip{cursor:pointer;position:relative;padding:.55em 1.05em;line-height:1}
button.gs-chip:hover{background:var(--bush-l);border-color:var(--bush);color:var(--bush-d)}
button.gs-chip[aria-checked=true]{background:var(--bush);border-color:var(--bush);color:#fff;padding-left:2.05em;box-shadow:0 4px 12px rgba(47,93,80,.28)}
button.gs-chip[aria-checked=true]::before{content:"";position:absolute;left:.85em;top:50%;width:.42em;height:.75em;margin-top:-.48em;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
button.gs-chip:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.gs-finder__go{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-top:4px}
.gs-btn--go,button.gs-btn--go{background:var(--sun);color:var(--ink);box-shadow:0 8px 20px rgba(242,165,65,.35);font-weight:700;padding:.9em 1.7em}
.gs-btn--go:hover,.gs-btn--go:focus{background:#E89526;color:var(--ink)}
.gs-btn--go::after{content:"\2192";font-weight:700}
.gs-finder__hint{font-size:.88rem;color:var(--muted);margin:0}
@media(max-width:680px){.gs-finder__go .gs-btn--go{width:100%}}
/* GP colours a focused/hovered menu toggle white; after a tap that made the close icon vanish on the white header */
button.menu-toggle:hover,button.menu-toggle:focus,.main-navigation button.menu-toggle:hover,.main-navigation button.menu-toggle:focus{color:var(--ink);background:transparent}
.gs-hdr-over:not(.gs-hdr-solid) button.menu-toggle:hover,.gs-hdr-over:not(.gs-hdr-solid) button.menu-toggle:focus{color:#fff}

/* =========================================================
   v0.5.2: card price row (bottom of every stay card)
   ========================================================= */
.gs-cards{align-items:stretch}
.gs-card{position:relative}
.gs-card__body{flex:1 1 auto}
/* whole card is clickable via the title link; the media link stays for mouse users */
.gs-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.gs-card__title a:focus-visible{outline:0}
.gs-card:has(.gs-card__title a:focus-visible){outline:3px solid var(--sun);outline-offset:3px}
.gs-price{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;position:relative;z-index:2}
.gs-card__body>.gs-price{margin-top:auto}
.gs-card__body .chips+.gs-price,.gs-card__body .gs-card__facts+.gs-price{margin-top:auto}
.gs-price p{margin:0}
.gs-price__main{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .4rem;line-height:1.1;color:var(--ink)}
.gs-price__from{font:600 .72rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-self:center}
.gs-price__amt{font:800 1.6rem/1.05 var(--head);letter-spacing:-.02em;color:var(--ink)}
.gs-price__unit{font:500 .92rem/1.2 var(--body);color:var(--muted)}
.gs-price__qual{font-size:.86rem;line-height:1.35;color:var(--muted);margin-top:3px!important}
.gs-price__pp{display:inline-flex;align-self:flex-start;align-items:center;gap:.4em;margin-top:8px!important;padding:.38em .75em;border-radius:999px;background:var(--bush-l);color:var(--bush-d);font:600 .82rem/1.2 var(--body)}
.gs-price__pp::before{content:"";width:.95em;height:.95em;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM1 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1Zm17 0v-1c0-1.7-.6-3.3-1.6-4.5A5 5 0 0 1 23 20v1Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm7 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM1 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1Zm17 0v-1c0-1.7-.6-3.3-1.6-4.5A5 5 0 0 1 23 20v1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.gs-price--request{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;min-height:62px}
.gs-price__pill{display:inline-flex;align-items:center;padding:.5em .95em;border-radius:999px;background:var(--sun-l);border:1px solid #EBC98E;color:var(--ink);font:700 .9rem/1.1 var(--head);letter-spacing:-.005em}
.gs-price__check{font:600 .92rem/1.2 var(--body);color:var(--clay-d);text-decoration:none;position:relative;z-index:3}
.gs-price__check:hover,.gs-price__check:focus{color:var(--clay);text-decoration:underline}
/* homepage GB loop cards: price row sits above "See the place" */
.gs-card__body .gs-price+.gs-card__link{margin-top:12px;position:relative;z-index:3}
@media(max-width:680px){.gs-price__amt{font-size:1.5rem}.gs-price--request{min-height:0}}

/* =========================================================
   v0.5.4: blog (index, archives, single post)
   ========================================================= */
.gs-blog-hero .gs-page-hero__inner{padding-bottom:clamp(40px,6vw,72px)}
.gs-blog-hero .gs-pills{margin-top:1.4rem}
.gs-pill--light.is-current{background:#fff;color:var(--ink);border-color:#fff}
.gs-blog{padding-top:clamp(36px,5vw,56px)}
/* card grid: first card on page 1 spans the row */
.gs-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gs-post-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.gs-post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h)}
.gs-post-card__media{display:block;aspect-ratio:3/2;overflow:hidden;background:linear-gradient(135deg,var(--bush),var(--bush-d))}
.gs-post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gs-post-card:hover .gs-post-card__media img{transform:scale(1.04)}
.gs-post-card__ph{display:block;width:100%;height:100%;background:radial-gradient(circle at 30% 30%,rgba(242,165,65,.45),transparent 55%),linear-gradient(135deg,var(--bush),var(--bush-d))}
.gs-post-card__body{display:flex;flex-direction:column;gap:.5rem;padding:20px 22px 22px;flex:1}
.gs-post-card__cat{margin:0;font:600 .76rem/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--clay)}
.gs-post-card__title{margin:0;font-size:1.28rem;line-height:1.2}
.gs-post-card__title a{color:var(--ink);text-decoration:none}
.gs-post-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.gs-post-card:has(.gs-post-card__title a:focus-visible){outline:3px solid var(--sun);outline-offset:3px}
.gs-post-card__title a:focus-visible{outline:0}
.gs-post-card__ex{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gs-post-card__meta{margin:auto 0 0;padding-top:.7rem;display:flex;gap:.5em;font-size:.84rem;color:var(--muted)}
.gs-post-card--big{grid-column:1/-1;flex-direction:row;min-height:380px}
.gs-post-card--big .gs-post-card__media{flex:0 0 58%;aspect-ratio:auto}
.gs-post-card--big .gs-post-card__body{padding:clamp(24px,4vw,48px);justify-content:center;gap:.8rem}
.gs-post-card--big .gs-post-card__title{font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.02em}
.gs-post-card--big .gs-post-card__ex{-webkit-line-clamp:4;font-size:1.02rem}
.gs-post-card--big .gs-post-card__meta{margin-top:.4rem}
.gs-blog .gs-pagination{margin-top:36px}
.gs-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.gs-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid rgba(34,48,43,.14);color:#22302B;font-weight:600;text-decoration:none}
.gs-pagination .page-numbers.current{background:#2F5D50;border-color:#2F5D50;color:#fff}
.gs-pagination a.page-numbers:hover{border-color:#C8553D;color:#C8553D}
.gs-pagination .dots{background:none;border:0}
.gs-blog-cta{background:var(--bush) var(--gs-bg,none) center/cover no-repeat}
/* single post */
.gs-post-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;min-height:min(72vh,620px);display:flex;align-items:flex-end;border-radius:0 0 clamp(20px,3vw,40px) clamp(20px,3vw,40px);background:var(--bush)}
.gs-post-hero__img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:-2;max-width:none}
.gs-post-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(22,34,30,.92) 0%,rgba(22,34,30,.55) 45%,rgba(22,34,30,.2) 100%)}
.gs-post-hero--plain{min-height:0}
.gs-post-hero--plain::before{background:radial-gradient(circle at 85% 10%,rgba(242,165,65,.3),transparent 45%),linear-gradient(120deg,var(--bush-d),var(--bush))}
.gs-post-hero__inner{width:100%;max-width:880px;margin:0 auto;padding:clamp(56px,9vw,120px) var(--gutter) clamp(36px,5vw,60px)}
.gs-post-hero .gs-eyebrow{color:var(--sun)}
.gs-post-hero__title{color:#fff;font-size:clamp(2.1rem,4.6vw,3.4rem);margin:0 0 .5rem;text-wrap:balance}
.gs-post-hero__lead{font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.55;color:rgba(255,255,255,.92);max-width:60ch;margin:0 0 1.1rem}
.gs-crumbs__here{color:rgba(255,255,255,.75);max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-byline{display:flex;flex-wrap:wrap;gap:.3em .6em;margin:0;font-size:.92rem;color:rgba(255,255,255,.85)}
.gs-byline__by{font-weight:600;color:#fff}
.gs-post-layout{max-width:1160px;margin:0 auto;padding:clamp(36px,5vw,64px) var(--gutter) 0;display:grid;grid-template-columns:minmax(0,720px);justify-content:center;gap:48px}
.gs-post-layout.has-toc{grid-template-columns:240px minmax(0,720px)}
.gs-toc{position:sticky;top:110px;align-self:start;font-size:.92rem}
.gs-toc summary{font:700 .78rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;list-style:none;margin-bottom:12px}
.gs-toc summary::-webkit-details-marker{display:none}
.gs-toc ol{list-style:none;margin:0;padding:0 0 0 2px;border-left:2px solid var(--line);counter-reset:toc}
.gs-toc li{margin:0}
.gs-toc a{display:block;padding:.45em 0 .45em 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink);text-decoration:none;line-height:1.35}
.gs-toc a:hover{color:var(--clay)}
.gs-toc a[aria-current]{border-left-color:var(--clay);color:var(--clay-d);font-weight:600}
/* reading column */
.gs-prose{font-size:1.09rem;line-height:1.75;color:var(--ink)}
.gs-prose>*{margin:0 0 1.25em}
.gs-prose h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin:2.2em 0 .6em;scroll-margin-top:110px}
.gs-prose h3{font-size:1.3rem;margin:1.8em 0 .5em;scroll-margin-top:110px}
.gs-prose>h2:first-child,.gs-prose>h3:first-child{margin-top:0}
.gs-prose a{color:var(--clay-d);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.gs-prose a:hover{color:var(--clay)}
.gs-prose ul,.gs-prose ol{padding-left:1.3em}.gs-prose li{margin:.35em 0}
.gs-prose ul li::marker{color:var(--clay)}
.gs-prose img,.gs-prose figure{border-radius:var(--r-s);max-width:100%;height:auto}
.gs-prose figure{margin:2em 0}.gs-prose figcaption,.gs-prose .wp-caption-text{font-size:.86rem;color:var(--muted);margin-top:.5em;text-align:center}
.gs-prose .wp-caption{max-width:100%}
.gs-prose blockquote{margin:2em 0;padding:1.1em 1.4em;border-left:4px solid var(--sun);background:#fff;border-radius:0 var(--r-s) var(--r-s) 0;font-size:1.15rem;font-family:var(--head);font-weight:600;line-height:1.45}
.gs-prose blockquote p{margin:0}
.gs-prose table{width:100%;border-collapse:collapse;font-size:.96rem;background:#fff;border-radius:var(--r-s);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.gs-prose th,.gs-prose td{padding:.7em .9em;border-bottom:1px solid var(--line);text-align:left}.gs-prose th{background:var(--sand-2);font-weight:700}
.gs-prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.gs-prose .gs-note,.gs-prose .gs-tip{background:var(--bush-l);border-radius:var(--r-s);padding:1em 1.2em;color:var(--bush-d)}
.gs-post-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2.4em!important}
.gs-post-tags .chip{text-decoration:none}
.gs-post-stays{padding-top:clamp(48px,7vw,80px)}
.gs-post-more{padding-bottom:clamp(48px,7vw,80px)}
.gs-post-grid--three .gs-post-card--big{grid-column:auto;flex-direction:column;min-height:0}
.gs-post .gs-cta__wrap .gs-cta{margin-bottom:0}
@media(max-width:1023px){
  .gs-post-layout.has-toc{grid-template-columns:minmax(0,720px)}
  .gs-toc{position:static;background:#fff;border-radius:var(--r-s);padding:14px 18px;box-shadow:var(--shadow)}
  .gs-toc summary{margin:0}.gs-toc details[open] summary{margin-bottom:12px}
  .gs-toc summary::after{content:"+";float:right;font-size:1rem;color:var(--clay)}.gs-toc details[open] summary::after{content:"−"}
  .gs-post-grid{grid-template-columns:repeat(2,1fr)}
  .gs-post-card--big{flex-direction:column;min-height:0}.gs-post-card--big .gs-post-card__media{flex:none;aspect-ratio:16/9}
}
@media(max-width:680px){
  .gs-post-grid{grid-template-columns:1fr;gap:18px}
  .gs-post-hero{min-height:440px}
  .gs-prose{font-size:1.04rem}
  .gs-crumbs__here{display:none}
}

/* ---------- v0.5.5 author avatar + author box ---------- */
.gs-byline{align-items:center}
.gs-byline a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.gs-byline a:hover{border-bottom-color:#F2A541}
.gs-byline__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.85);margin-right:.15em}
.gs-author{display:flex;gap:22px;align-items:flex-start;margin:44px 0 8px;padding:26px 28px;background:#fff;border:1px solid rgba(34,48,43,.1);border-radius:18px;box-shadow:0 10px 30px -22px rgba(34,48,43,.45)}
.gs-author__photo{flex:0 0 auto;border:0!important}
.gs-author__img,.gs-prose img.gs-author__img{display:block;max-width:none;margin:0;width:104px;height:104px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #F7F1E5,0 0 0 5px rgba(47,93,80,.25)}
.gs-author__img--initial{display:flex;align-items:center;justify-content:center;background:#2F5D50;color:#fff;font:700 2.4rem/1 "Inter Tight",Inter,sans-serif}
.gs-author__body{min-width:0}
.gs-author .gs-eyebrow{margin:0 0 4px}
.gs-prose .gs-author__name{margin:0 0 8px;font:700 1.3rem/1.2 "Inter Tight",Inter,sans-serif;color:#22302B}
.gs-prose .gs-author__name a{color:inherit;text-decoration:none}
.gs-prose .gs-author__name a:hover{color:#C8553D}
.gs-prose .gs-author__bio p{margin:0 0 12px;font-size:1rem;line-height:1.6;color:rgba(34,48,43,.82)}
.gs-prose .gs-author .gs-link{font-weight:600;font-size:.95rem;text-decoration:none;color:#C8553D}
.gs-blog-hero__avatar{display:block;width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.9);margin:0 0 14px}
@media (max-width:680px){.gs-author{flex-direction:column;gap:14px;padding:22px}.gs-author__img,.gs-prose img.gs-author__img{width:84px;height:84px}}

/* ---------- v0.5.6 filter bar ----------
   Row 1: equal-width selects + "Show stays" (all 48px). Row 2: "Must have" + toggle chips on one line.
   Mobile (<=680px): a "Filters" button opens the panel (JS); without JS the panel simply stays open. */
.gs-filterbar{--gs-h:48px;position:relative;z-index:2;margin:-40px 0 30px;padding:20px 24px 18px;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);border:1px solid rgba(34,48,43,.05)}
.gs-filterbar__head{display:none}
.gs-filterbar__selects{display:grid;grid-template-columns:repeat(var(--gs-cols,4),minmax(0,1fr)) auto;gap:14px;align-items:end}
.gs-field{min-width:0;display:grid;gap:7px}
.gs-field__label{margin:0;font:700 .72rem/1 var(--body);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.gs-field__control{position:relative}
.gs-field select{-webkit-appearance:none;appearance:none;display:block;width:100%;height:var(--gs-h);margin:0;padding:0 42px 0 14px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--sand);font:600 .98rem/1.2 var(--body);color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transition:border-color .15s,background-color .15s,box-shadow .15s}
.gs-field select::-ms-expand{display:none}
.gs-field select:hover{border-color:#cdbd9f;background:#f3ebdb}
.gs-field select:focus{outline:none}
.gs-field select:focus-visible{border-color:var(--bush);box-shadow:0 0 0 3px rgba(242,165,65,.55)}
.gs-field select.is-set{border-color:rgba(47,93,80,.55);background:var(--bush-l)}
.gs-field__chev{position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--bush);pointer-events:none}
.gs-filterbar__go.gs-btn{height:var(--gs-h);min-width:150px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--r-s);margin:0}
.gs-filterbar__go:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(242,165,65,.7)}
.gs-filterbar__musts{display:flex;align-items:center;gap:12px 18px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.gs-musts{display:flex;align-items:center;gap:10px 14px;flex:1;min-width:0;margin:0;padding:0;border:0}
.gs-musts__label{float:left;margin:0;padding:0;font:700 .72rem/1 var(--body);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.gs-chips{display:flex;flex-wrap:wrap;gap:8px}
.gs-chip{position:relative;display:inline-flex;margin:0;cursor:pointer}
.gs-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.gs-chip__ui{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:var(--sand);font:600 .9rem/1 var(--body);color:var(--ink);white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.gs-chip__tick{width:0;height:16px;opacity:0;transition:width .15s,opacity .15s}
.gs-chip:hover .gs-chip__ui{border-color:#cdbd9f;background:#f3ebdb}
.gs-chip input:checked+.gs-chip__ui{background:var(--bush);border-color:var(--bush);color:#fff}
.gs-chip input:checked+.gs-chip__ui .gs-chip__tick{width:16px;opacity:1}
.gs-chip input:focus-visible+.gs-chip__ui{box-shadow:0 0 0 3px rgba(242,165,65,.7)}
.gs-filterbar__reset{margin-left:auto;font-weight:600;font-size:.92rem;color:var(--clay);white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.gs-filterbar__reset:hover{color:var(--clay-d)}
@media (max-width:1023px){
  .gs-filterbar__selects{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gs-filterbar__go.gs-btn{grid-column:1/-1;width:100%}
  .gs-filterbar__musts{flex-wrap:wrap}
}
@media (max-width:680px){
  .gs-filterbar{margin:-26px 0 24px;padding:12px 14px}
  .gs-filterbar__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .gs-filterbar__toggle{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--sand);color:var(--ink);font:700 .95rem/1 var(--body);cursor:pointer}
  .gs-filterbar__toggle svg{width:18px;height:18px;color:var(--bush)}
  .gs-filterbar__toggle:hover,.gs-filterbar__toggle:focus,.gs-filterbar__toggle:active{background:var(--sand);color:var(--ink);border-color:#cdbd9f}
  .gs-filterbar__toggle[aria-expanded="true"]{background:var(--bush-l);border-color:rgba(47,93,80,.45)}
  .gs-filterbar__toggle:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(242,165,65,.7)}
  .gs-filterbar__badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--clay);color:#fff;font-size:.78rem}
  .gs-filterbar__found{font-weight:600;font-size:.92rem;color:var(--muted)}
  .gs-filterbar__panel{padding-top:14px}
  .gs-filterbar.is-collapsed .gs-filterbar__panel{display:none}
  .gs-filterbar__selects{gap:12px 10px}
  .gs-filterbar__musts{flex-direction:column;align-items:stretch;gap:12px}
  .gs-musts{flex-direction:column;align-items:flex-start;width:100%}
  .gs-musts__label{float:none;margin-bottom:2px}
  .gs-filterbar__reset{margin-left:0;align-self:flex-start}
  .gs-field select{font-size:16px}
  .gs-filterbar+.gs-count{display:none}
}

/* 0.5.7: in-post photos. Full content width, card-style corners, small grey captions; overrides Classic Editor inline caption widths */
.gs-prose figure,.gs-prose .wp-caption{width:100%!important;max-width:100%;margin:2.2em 0;border-radius:0}
.gs-prose figure img,.gs-prose .wp-caption img{display:block;width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow)}
.gs-prose figure>a{display:block;text-decoration:none;border-radius:var(--r)}
.gs-prose figure>a:hover img{opacity:.93;transition:opacity .2s}
.gs-prose figure>a:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.gs-prose figcaption,.gs-prose .wp-caption-text{font-size:.86rem;line-height:1.45;color:var(--muted);margin-top:.65em;text-align:center}

/* =========================================================================
   v0.5.8 "Stoep journal" masthead system
   Paper band + faint contour map, big left-aligned headline, real listing photos in gable arches
   bleeding off the right edge, hand-drawn terracotta edge. Used by: home, Stays archive, region and
   type pages, blog index and archives, pages (About, Contact…), single stay, single post.
   ========================================================================= */
:root{
  --gs-paper:#EFE6D4;            /* masthead band (page body stays --sand #F7F1E5) */
  --gs-paper-ink:#3E4D47;        /* body text on paper: 7.6:1 */
  --gs-kicker:var(--clay-d);     /* eyebrow text on paper/sand: 4.8:1+ */
  --gs-arch:999px 999px 22px 22px;
  --gs-edge-h:clamp(26px,4vw,58px);
  --gs-topo:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22460%22 height=%22400%22 viewBox=%220 0 460 400%22%3E%3Cg fill=%22none%22 stroke=%22%232F5D50%22 stroke-opacity=%22.075%22 stroke-width=%221.2%22%3E%3Cpath d=%22M150 110 L153 113 L154 117 L151 119 L146 121 L142 123 L140 125 L139 128 L137 131 L132 132 L128 131 L123 129 L120 128 L117 129 L112 131 L108 132 L103 131 L101 128 L100 125 L98 123 L94 121 L89 119 L86 117 L87 113 L90 110 L94 108 L96 105 L96 103 L94 99 L95 96 L98 94 L103 93 L107 93 L110 92 L112 88 L116 85 L120 84 L124 85 L128 88 L130 92 L133 93 L137 93 L142 94 L145 96 L146 99 L144 103 L144 105 L146 108Z%22/%3E%3Cpath d=%22M188 110 L191 117 L186 123 L176 127 L167 130 L162 134 L160 139 L157 146 L152 151 L143 151 L134 148 L126 146 L120 148 L112 153 L103 158 L93 158 L87 153 L83 145 L81 139 L75 135 L67 133 L59 129 L57 122 L62 116 L69 110 L73 105 L71 100 L66 94 L64 86 L67 80 L76 77 L85 76 L92 74 L97 69 L103 63 L111 59 L120 60 L128 66 L133 73 L139 77 L146 77 L156 75 L165 77 L169 82 L170 89 L169 95 L172 100 L179 104Z%22/%3E%3Cpath d=%22M227 110 L223 120 L210 128 L194 133 L185 138 L183 146 L184 157 L179 167 L168 172 L154 171 L141 169 L131 171 L120 178 L106 186 L92 189 L79 182 L73 171 L69 159 L63 152 L52 149 L38 145 L30 138 L31 128 L38 118 L44 110 L41 102 L32 93 L25 81 L26 70 L38 63 L54 61 L68 59 L77 54 L84 45 L94 38 L107 36 L120 42 L130 52 L139 57 L150 57 L165 53 L181 51 L193 56 L197 66 L197 77 L199 86 L208 93 L220 100Z%22/%3E%3Cpath d=%22M259 110 L246 122 L227 131 L214 139 L213 150 L217 165 L218 182 L207 194 L188 197 L167 195 L151 195 L136 202 L120 213 L101 219 L83 213 L71 198 L64 182 L57 171 L42 167 L22 166 L3 160 L-4 148 L-0 134 L6 121 L5 110 L-6 98 L-18 83 L-20 67 L-7 56 L16 51 L38 49 L53 45 L61 34 L70 21 L85 13 L103 16 L120 25 L134 32 L148 32 L168 25 L191 19 L211 22 L222 35 L223 51 L223 66 L230 76 L245 85 L258 97Z%22/%3E%3Cpath d=%22M288 110 L269 125 L254 137 L251 150 L259 170 L266 193 L258 212 L234 220 L205 219 L179 216 L160 220 L142 232 L120 243 L96 243 L77 229 L65 209 L54 195 L36 191 L8 193 L-22 191 L-41 179 L-44 160 L-37 141 L-33 125 L-42 110 L-57 93 L-65 73 L-53 57 L-26 48 L4 44 L25 40 L34 27 L40 8 L53 -9 L75 -15 L99 -10 L120 -1 L139 1 L162 -7 L191 -16 L219 -16 L236 -2 L241 20 L239 42 L244 57 L260 67 L282 78 L294 93Z%22/%3E%3Cpath d=%22M325 110 L307 128 L299 146 L307 167 L318 195 L315 221 L289 235 L251 236 L214 231 L188 232 L169 244 L147 262 L120 271 L93 264 L71 246 L54 229 L32 223 L-2 227 L-41 229 L-73 220 L-84 197 L-77 170 L-67 147 L-69 128 L-85 110 L-100 89 L-97 67 L-72 51 L-37 43 L-11 35 L-1 20 L1 -5 L9 -33 L31 -49 L62 -49 L93 -39 L120 -33 L146 -37 L177 -48 L211 -52 L237 -40 L248 -14 L249 15 L253 35 L272 45 L303 54 L330 68 L338 89Z%22/%3E%3Cpath d=%22M359 300 L358 303 L356 305 L353 307 L349 308 L346 309 L344 310 L343 312 L341 315 L340 317 L337 319 L334 320 L330 320 L327 319 L324 317 L321 316 L318 315 L315 314 L312 313 L309 312 L307 310 L306 307 L307 305 L309 302 L310 300 L310 298 L309 296 L308 293 L307 290 L307 287 L310 285 L313 284 L317 283 L321 284 L324 284 L327 284 L330 284 L333 283 L336 282 L340 282 L343 284 L345 286 L346 288 L347 290 L349 292 L351 293 L354 295 L357 297Z%22/%3E%3Cpath d=%22M388 300 L385 305 L380 310 L373 313 L367 316 L363 319 L361 323 L359 328 L357 334 L352 340 L346 343 L338 343 L330 341 L323 338 L318 334 L312 332 L306 331 L299 330 L292 328 L287 325 L283 320 L283 314 L284 309 L286 304 L286 300 L284 295 L280 290 L278 284 L278 278 L281 272 L288 269 L297 268 L306 269 L313 270 L319 270 L324 268 L330 265 L337 262 L344 261 L351 262 L357 265 L362 270 L365 274 L368 278 L372 282 L378 285 L384 289 L388 294Z%22/%3E%3Cpath d=%22M416 300 L410 308 L401 314 L393 319 L388 325 L386 332 L385 341 L383 351 L377 360 L367 366 L355 368 L342 365 L330 359 L320 354 L312 350 L303 349 L292 349 L281 348 L270 345 L262 339 L258 331 L257 322 L258 314 L257 307 L254 300 L249 292 L245 283 L243 273 L248 265 L257 259 L270 256 L284 256 L296 256 L305 255 L313 252 L320 246 L330 239 L342 235 L354 234 L365 238 L373 245 L379 253 L384 260 L390 266 L398 271 L407 276 L414 283 L418 291Z%22/%3E%3Cpath d=%22M445 300 L436 310 L427 319 L421 328 L418 338 L418 350 L417 364 L410 377 L398 387 L381 391 L362 388 L344 381 L330 374 L318 369 L305 368 L291 370 L274 372 L257 371 L242 365 L233 355 L228 343 L228 331 L227 320 L224 310 L218 300 L211 288 L208 276 L211 264 L222 254 L238 248 L256 245 L272 244 L284 242 L294 235 L303 225 L315 214 L330 206 L347 202 L364 206 L378 215 L388 226 L395 237 L403 246 L412 253 L425 259 L437 267 L446 277 L449 288Z%22/%3E%3C/g%3E%3C/svg%3E");
  --gs-brush:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 300 24%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M4 15 C60 7 120 6 180 9 S270 13 296 8 L295 17 C250 20 190 18 130 18 S40 22 5 21 Z%22 fill=%22%23F2A541%22/%3E%3C/svg%3E");
}
/* Eyebrows everywhere: darker terracotta for contrast + a short hand-ruled line */
.gs-eyebrow{display:inline-flex;align-items:center;gap:.75em;color:var(--gs-kicker)}
.gs-eyebrow::before{content:"";flex:0 0 auto;width:1.9em;height:2px;border-radius:2px;background:currentColor;opacity:.85}
.gs-section__head h2,.gs-section-title{letter-spacing:-.015em;text-wrap:balance}

/* Transparent header on paper: dark logo + ink links; solid white once scrolled (JS adds .gs-hdr-solid) */
.gs-hdr-paper .site-header::before{display:none}
.gs-hdr-paper:not(.gs-hdr-solid) .main-navigation .main-nav>ul>li>a,
.gs-hdr-paper:not(.gs-hdr-solid) .menu-toggle,.gs-hdr-paper:not(.gs-hdr-solid) .main-navigation .menu-toggle,
.gs-hdr-paper:not(.gs-hdr-solid) button.menu-toggle:hover,.gs-hdr-paper:not(.gs-hdr-solid) button.menu-toggle:focus{color:var(--ink)}
.gs-hdr-paper:not(.gs-hdr-solid) .main-navigation .main-nav>ul>li:hover>a,
.gs-hdr-paper:not(.gs-hdr-solid) .main-navigation .main-nav>ul>li[class*=current]>a{color:var(--clay-d)}
.gs-hdr-paper:not(.gs-hdr-solid) .site-header{background:transparent}

/* ---- the band ---- */
.gs-mast{position:relative;isolation:isolate;overflow:hidden;color:var(--ink);background-color:var(--gs-paper);background-image:var(--gs-topo);background-size:460px 400px;
  padding:clamp(28px,4vw,56px) 0 calc(var(--gs-edge-h) + clamp(36px,5vw,72px))}
.gs-hdr-over .gs-mast{padding-top:calc(var(--gs-hdr-h,84px) + clamp(18px,3.4vw,52px))}
.gs-mast__grid{display:grid;align-items:center;
  grid-template-columns:[full-start] minmax(var(--gutter),1fr) [text-start] minmax(0,calc(var(--wrap)*.5 - var(--gutter))) [text-end media-start] minmax(0,calc(var(--wrap)*.5 - var(--gutter))) [media-end] minmax(var(--gutter),1fr) [full-end]}
.gs-mast__text{grid-column:text;position:relative;z-index:2;padding-right:clamp(16px,3vw,56px);min-width:0}
.gs-mast__media{grid-column:media-start/media-end;position:relative;z-index:1;min-width:0}
.gs-mast .gs-crumbs{color:var(--muted);margin-bottom:1.2rem}
.gs-mast .gs-crumbs a{color:var(--ink)}
.gs-mast .gs-crumbs__here{color:var(--muted)}
.gs-mast__kicker{margin-bottom:1rem}
.gs-mast__title{font-family:var(--head);font-weight:700;color:var(--ink);font-size:clamp(2.3rem,4.6vw,4rem);line-height:1.02;letter-spacing:-.025em;margin:0 0 .45em;max-width:16ch;text-wrap:balance}
.gs-mast__title em{font-style:normal;color:var(--bush);background:var(--gs-brush) left 92%/100% .34em no-repeat;padding:0 .04em .02em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.gs-mast__lead{font-size:clamp(1.04rem,1.45vw,1.2rem);line-height:1.6;color:var(--gs-paper-ink);max-width:46ch}
.gs-mast__lead p{margin:0 0 .6em}.gs-mast__lead p:last-child{margin-bottom:0}
.gs-mast .gs-pills{margin-top:1.3rem}
.gs-mast .gs-pill{background:#fff;border-color:var(--line)}
.gs-mast a.gs-pill:hover,.gs-mast .gs-pill.is-current{background:var(--ink);border-color:var(--ink);color:#fff}
.gs-mast a.gs-pill:focus-visible{outline:3px solid var(--sun);outline-offset:2px}

/* hand-drawn edge */
.gs-mast__edge{position:absolute;left:0;bottom:-1px;width:100%;height:var(--gs-edge-h);z-index:3;pointer-events:none;overflow:visible}
.gs-mast__edge-fill{fill:var(--sand)}
.gs-mast__edge-line{fill:none;stroke:var(--clay);stroke-width:2.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.gs-mast__edge-line--2{stroke:var(--sun);stroke-width:1.5;opacity:.9}

/* arches (Cape Dutch gable / stoep doorway) */
.gs-arch{position:relative;margin:0;border-radius:var(--gs-arch);overflow:hidden;background:var(--sand-2);box-shadow:0 1px 2px rgba(34,48,43,.08),0 22px 48px -18px rgba(34,48,43,.45)}
.gs-arch__img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover}
.gs-arch__link{display:block;height:100%;color:inherit;border-radius:inherit}
.gs-arch__link:focus-visible{outline:3px solid var(--sun);outline-offset:4px}
.gs-arch:has(.gs-arch__link:focus-visible){overflow:visible}
.gs-arch__cap{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;pointer-events:none}
.gs-arch__where{background:rgba(255,255,255,.95);color:var(--ink);border-radius:999px;padding:.42em .8em;font:600 .78rem/1.15 var(--body);box-shadow:0 2px 8px rgba(0,0,0,.12);max-width:100%}
.gs-arch__sleeps{background:var(--sun);color:var(--ink);border-radius:999px;padding:.42em .75em;font:700 .76rem/1.15 var(--body)}
.gs-arch__link:hover .gs-arch__img{transform:scale(1.03)}
.gs-arch__img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}

/* split variant: one big arch with an offset terracotta outline arch behind it */
.gs-arch--hero{aspect-ratio:4/5;width:min(100%,470px);max-height:min(62vh,600px);margin-left:auto}
.gs-mast--split .gs-mast__media::before,.gs-mast--post .gs-mast__media::before,.gs-mast--stay .gs-mast__media::before{content:"";position:absolute;z-index:-1;top:-18px;right:-22px;width:min(100%,470px);height:calc(100% + 4px);max-height:min(62vh,600px);border:2px solid var(--clay);border-radius:var(--gs-arch);opacity:.55}
.gs-mast--post .gs-arch--hero{aspect-ratio:1/1;width:min(100%,440px)}
.gs-mast--post .gs-mast__media::before{width:min(100%,440px)}
.gs-mast--post .gs-mast__title{font-size:clamp(2.1rem,4vw,3.4rem);max-width:20ch}
.gs-mast--post .gs-byline{color:var(--gs-paper-ink);margin-top:1.2rem}
.gs-mast--post .gs-byline__by{color:var(--ink)}
.gs-mast--post .gs-byline a{color:var(--ink);border-bottom-color:var(--clay)}
.gs-mast--post .gs-byline__avatar{border-color:#fff}

/* stay variant: a wider photo column so the property leads */
.gs-mast--stay .gs-mast__grid{grid-template-columns:[full-start] minmax(var(--gutter),1fr) [text-start] minmax(0,calc(var(--wrap)*.44 - var(--gutter))) [text-end media-start] minmax(0,calc(var(--wrap)*.56 - var(--gutter))) [media-end] minmax(var(--gutter),1fr) [full-end]}
.gs-mast--stay .gs-arch--hero{aspect-ratio:6/5;width:100%;max-height:min(64vh,600px)}
.gs-mast--stay .gs-mast__media::before{width:100%;max-height:min(64vh,600px)}
.gs-mast--stay .gs-mast__title{font-size:clamp(2.2rem,4.4vw,3.8rem)}
.gs-mast--stay .gs-lhero__badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:.4rem}
.gs-mast .gs-lhero__all{position:absolute;right:16px;bottom:16px;z-index:2}
.gs-mast .gs-photo-note{position:static;margin:.7rem 0 0;text-align:right;color:var(--muted);font-size:.78rem}
.gs-mast--listing-single+.gs-keyfacts{margin-top:-34px}

/* plain variant (page without a photo): the oversized "8+" group-size glyph */
.gs-mast__glyph{grid-column:media-start/media-end;justify-self:end;font:800 clamp(9rem,21vw,19rem)/.8 var(--head);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px var(--clay);opacity:.5;user-select:none;margin-right:-.04em}
.gs-mast__glyph span{-webkit-text-stroke:2px var(--sun);margin-left:.02em}
.gs-mast--plain .gs-mast__title{max-width:18ch}

/* home: mosaic of three listing arches running off the right edge */
.gs-mast--home .gs-mast__grid{grid-template-columns:[full-start] minmax(var(--gutter),1fr) [text-start] minmax(0,calc(var(--wrap)*.52 - var(--gutter))) [text-end media-start] minmax(0,calc(var(--wrap)*.48 - var(--gutter))) [media-end] minmax(var(--gutter),1fr) [full-end]}
.gs-mast--home .gs-mast__media{grid-column:media-start/full-end}
.gs-mast--home .gs-mast__title{font-size:clamp(2.7rem,6vw,5.3rem);line-height:.98;max-width:11ch}
.gs-mosaic{display:grid;grid-template-columns:1.2fr .95fr .9fr;gap:clamp(12px,1.4vw,20px);align-items:end;height:clamp(420px,44vw,640px);width:calc(100% + 9vw);margin-right:-9vw}
.gs-mosaic .gs-arch{height:100%}
.gs-arch--m2{height:80%!important;align-self:center;transform:translateY(8%)}
.gs-arch--m3{height:64%!important;align-self:start}
.gs-mast__facts{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;list-style:none;margin:1.3rem 0 1.5rem;padding:0;font-size:.98rem;color:var(--gs-paper-ink)}
.gs-mast__facts li{position:relative;margin:0}
.gs-mast__facts li+li::before{content:"";position:absolute;left:-.8rem;top:50%;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:var(--clay)}
.gs-mast__facts b{font:700 1.2rem/1 var(--head);color:var(--ink);letter-spacing:-.01em}
.gs-mast--home .gs-finder{background:#fff;box-shadow:0 1px 2px rgba(34,48,43,.06),0 18px 40px -16px rgba(34,48,43,.35);border:1px solid rgba(34,48,43,.06);max-width:640px;position:relative}
.gs-mast--home .gs-finder::before{content:"";position:absolute;left:22px;top:-7px;width:64px;height:14px;border-radius:7px;background:var(--sun);opacity:.9}
.gs-mast--home + .gs-trust{margin-top:-30px}
.gs-mast--listing + .gs-wrap .gs-filterbar,.gs-mast--listing ~ .gs-wrap .gs-filterbar{margin-top:-52px}
.gs-mast--blog + .gs-wrap{padding-top:clamp(20px,3vw,36px)}

/* page bodies under a masthead keep the 900px white card */
.gs-has-mast.page:not(.home) .inside-article{margin-top:0}
.gs-has-mast.page:not(.home) .site-content{padding-top:clamp(8px,2vw,24px)}

@media (prefers-reduced-motion:no-preference){
  .gs-mast .gs-arch{animation:gs-arch-rise .8s cubic-bezier(.2,.7,.2,1) both}
  .gs-mast .gs-arch--m2{animation-name:gs-arch-rise-2;animation-delay:.08s}
  .gs-mast .gs-arch--m3{animation-delay:.16s}
  .gs-mast__edge-line{stroke-dasharray:1600;stroke-dashoffset:1600;animation:gs-edge-draw 1.4s .2s ease-out forwards}
}
@keyframes gs-arch-rise{from{transform:translateY(18px)}to{transform:none}}
@keyframes gs-arch-rise-2{from{transform:translateY(calc(8% + 18px))}to{transform:translateY(8%)}}
@keyframes gs-edge-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.gs-arch__img{transition:none}.gs-arch__link:hover .gs-arch__img{transform:none}}

@media (max-width:1023px){
  .gs-mast__grid,.gs-mast--home .gs-mast__grid,.gs-mast--stay .gs-mast__grid{grid-template-columns:[full-start] var(--gutter) [text-start media-start] minmax(0,1fr) [text-end media-end] var(--gutter) [full-end];row-gap:clamp(24px,5vw,40px)}
  .gs-mast__text{padding-right:0}
  .gs-mast__title,.gs-mast--home .gs-mast__title{max-width:18ch}
  .gs-mast--home .gs-mast__media{grid-column:media-start/full-end}
  .gs-mosaic{height:clamp(240px,52vw,420px);width:calc(100% + 18vw);margin-right:-18vw}
  .gs-arch--hero,.gs-mast--post .gs-arch--hero{aspect-ratio:4/3;width:min(100%,640px);margin:0 auto 0 0;max-height:none}
  .gs-mast--stay .gs-arch--hero{aspect-ratio:4/3}
  .gs-mast--split .gs-mast__media::before,.gs-mast--post .gs-mast__media::before,.gs-mast--stay .gs-mast__media::before{width:min(100%,640px);max-height:none;right:auto;left:16px;top:-12px}
  .gs-mast__glyph{display:none}
  /* home on small screens: photos straight after the headline, the finder after the photos */
  .gs-mast--home .gs-mast__grid{row-gap:0}
  .gs-mast--home .gs-mast__text{display:contents}
  .gs-mast--home .gs-mast__text>*{grid-column:text}
  .gs-mast--home .gs-mast__media{order:1;margin:4px 0 26px}
  .gs-mast--home .gs-finder{order:2}
}
@media (max-width:680px){
  .gs-mast{padding-bottom:calc(var(--gs-edge-h) + 34px)}
  .gs-hdr-over .gs-mast{padding-top:calc(var(--gs-hdr-h,62px) + 18px)}
  .gs-mast__title{font-size:clamp(2.05rem,8.6vw,2.6rem)}
  .gs-mast--home .gs-mast__title{font-size:clamp(2.4rem,11vw,3.1rem)}
  .gs-mast__facts{gap:.3rem 1.2rem;font-size:.92rem;margin:1rem 0 1.2rem}
  .gs-mosaic{grid-template-columns:1.25fr 1fr .8fr;height:250px;gap:10px}
  .gs-arch__cap{left:8px;right:8px;bottom:8px}
  .gs-arch__where{font-size:.7rem}
  .gs-arch--m2 .gs-arch__where,.gs-arch--m3 .gs-arch__cap{display:none}
  .gs-mast .gs-crumbs{margin-bottom:.9rem}
  .gs-mast--home + .gs-trust{margin-top:-18px}
  .gs-mast--listing ~ .gs-wrap .gs-filterbar{margin-top:-40px}
}
@media (max-width:680px){.gs-mast--listing .gs-arch--hero{aspect-ratio:16/10}}

/* =========================================================================
   v0.5.9 full-width mastheads
   On screens 1024px and up the band ignores the centred 1240px container: the text starts at a fixed
   left gutter (the header's logo lines up with it), is capped at about 600px, and the arches fill the
   rest of the width and run off the right edge. Smaller follow-on arches appear as the screen widens
   (1280/1700px; the home mosaic adds a fourth at 2000px). Content below the band keeps the 1240px container.
   ========================================================================= */
:root{--gs-mast-gutter:clamp(24px,5vw,96px);--gs-col-gap:clamp(32px,4.5vw,96px)}
.gs-arch--x,.gs-arch--m4{display:none}
@media (min-width:1024px){
  .site-header .inside-header{max-width:none;padding-left:var(--gs-mast-gutter);padding-right:var(--gs-mast-gutter)}
  .gs-mast{--gs-text-w:min(600px,44vw);--gs-hero-h:clamp(440px,34vw,760px);--gs-hero-w:calc(var(--gs-hero-h)*.8)}
  .gs-mast--home{--gs-text-w:min(640px,46vw)}
  .gs-mast--stay{--gs-text-w:min(560px,40vw);--gs-hero-w:calc(var(--gs-hero-h)*1.2)}
  .gs-mast--post{--gs-hero-w:calc(var(--gs-hero-h)*.9)}
  .gs-mast__grid,.gs-mast--home .gs-mast__grid,.gs-mast--stay .gs-mast__grid{
    grid-template-columns:[full-start] var(--gs-mast-gutter) [text-start] minmax(0,var(--gs-text-w)) [text-end] var(--gs-col-gap) [media-start] minmax(0,1fr) [media-end] var(--gs-mast-gutter) [full-end]}
  .gs-mast__text{padding-right:0}
  .gs-mast__media,.gs-mast--home .gs-mast__media{grid-column:media-start/full-end}
  /* split, post and stay: the main arch, then follow-on arches running off the right edge */
  .gs-mast__arches{position:relative;display:flex;align-items:flex-end;gap:clamp(14px,1.4vw,24px);height:var(--gs-hero-h);width:calc(100% + 4vw)}
  .gs-mast__arches .gs-arch--hero,.gs-mast--post .gs-mast__arches .gs-arch--hero,.gs-mast--stay .gs-mast__arches .gs-arch--hero{flex:0 0 auto;width:min(var(--gs-hero-w),calc(100% - 4vw - var(--gs-mast-gutter)));height:100%;max-height:none;aspect-ratio:auto;margin:0}
  .gs-mast--split .gs-mast__media::before,.gs-mast--post .gs-mast__media::before,.gs-mast--stay .gs-mast__media::before{left:22px;right:auto;top:-18px;width:min(var(--gs-hero-w),calc(100% - var(--gs-mast-gutter)));height:var(--gs-hero-h);max-height:none}
  .gs-arch--x{flex:1 0 calc(var(--gs-hero-h)*.52);max-width:calc(var(--gs-hero-h)*.9);height:78%}
  .gs-arch--x1{align-self:center;transform:translateY(6%)}
  .gs-arch--x2{align-self:flex-start;height:62%}
  .gs-mast .gs-lhero__all{right:auto;left:min(var(--gs-hero-w),calc(100% - 4vw - var(--gs-mast-gutter)));transform:translateX(calc(-100% - 16px))}
  .gs-mast .gs-photo-note{text-align:left;max-width:var(--gs-hero-w)}
  .gs-mast__glyph{grid-column:media-start/media-end;font-size:clamp(9rem,19vw,30rem)}
  /* home mosaic fills the remaining width and is cropped by the right edge */
  .gs-mosaic{height:clamp(460px,40vw,780px);width:calc(100% + 6vw);margin-right:0}
}
@media (min-width:1280px){.gs-mast--split .gs-arch--x1,.gs-mast--post .gs-arch--x1{display:block}}
@media (min-width:1600px){.gs-mast--stay .gs-arch--x1{display:block}}
@media (min-width:1700px){.gs-mast--split .gs-arch--x2,.gs-mast--post .gs-arch--x2{display:block}}
@media (min-width:2000px){
  .gs-mast--stay .gs-arch--x2{display:block}
  .gs-mosaic{grid-template-columns:1.2fr .95fr .9fr .9fr}
  .gs-arch--m4{display:block;height:84%!important;align-self:end}
}
@media (prefers-reduced-motion:no-preference){.gs-mast .gs-arch--x1{animation-name:gs-arch-rise-x;animation-delay:.08s}.gs-mast .gs-arch--x2{animation-delay:.16s}.gs-mast .gs-arch--m4{animation-delay:.22s}}
@keyframes gs-arch-rise-x{from{transform:translateY(calc(6% + 18px))}to{transform:translateY(6%)}}
@media (min-width:1024px){.gs-mast--home .gs-mast__arches{display:block;height:auto;width:auto}}
@media (min-width:2200px){.gs-mast--home .gs-mast__title{font-size:5.9rem}}
