/* CLEARING THEME — the site's look on the design/clearing branch (Tom,
   16 Oct 2026): "The Clearing" revised with The Hearth's CTA strength and
   contained cards, as drawn in the offline renders of that day
   (docs-local/web-redesign-renders-2026-10-16, generator/shacks.css).

   Loaded after shacks.css on every themed page (html.theme-shacks
   theme-clearing). Two layers:
   1. Tokens and type for the whole page. The older modules that content
      pages are made of (rich text, collections, journal, policies) read the
      legacy tokens (--font, --ink, --paper, --stone, --line, --season…), so
      those are mapped onto the clearing palette here and those pages take on
      the new colours and typefaces without being rewritten.
   2. The design's components (header, drawer, hero, search bar, cards,
      results, property page, footer…). Every component rule matches only an
      element that is, or sits inside, an element with class "clr" — the new
      modules and the new chrome — via :where(.clr,.clr *), which adds no
      specificity. Generic names such as .card or .press therefore never reach
      an older module's markup.

   Typefaces are self-hosted (OFL, /static/fonts/clearing/): Jost (variable,
   400–600 used) for text and controls, Neuton for headings. No request to a
   font service. */

@font-face { font-family: "Jost"; src: url("/static/fonts/clearing/jost-latin-wght.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Neuton"; src: url("/static/fonts/clearing/neuton-latin-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Neuton"; src: url("/static/fonts/clearing/neuton-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
/* Fallback faces sized to the real ones (launch review P7), so the swap from
   Arial or Georgia to Jost or Neuton barely moves the text. Measured from the
   files on 6 Nov 2026: Jost (1000 units, ascent 1070, descent 375) averages
   95.7% of Arial's width over English text; Neuton (2048 units, ascent
   2106, descent 485) 83.4% of Georgia's. The overrides are the fonts' own
   ascent and descent divided by that size-adjust. */
@font-face { font-family: "Jost Fallback"; src: local("Arial"), local("ArialMT"), local("Helvetica"); size-adjust: 95.7%; ascent-override: 111.8%; descent-override: 39.2%; line-gap-override: 0%; }
@font-face { font-family: "Neuton Fallback"; src: local("Georgia"); size-adjust: 83.4%; ascent-override: 123.3%; descent-override: 28.4%; line-gap-override: 0%; }

/* The palette Tom approved on 22 Oct 2026, taken from the logo rather than
   the forest: stone grounds, mist bands, slate for the dark, loch blue for
   the call to action. The names stay as they were so no rule has to change:
   --moss now draws slate, --sage mist, --clay and --cream stone. (Build and
   Landhosts keep the earlier palette for now: clearing-content.css part 2.) */
html.theme-clearing{
  --paper:#F5F3EF; --cream:#EBE9E4; --sage:#E2E8EE; --clay:#E7E3DB; --moss:#1F2934; --moss-deep:#161D26;
  --ink:#1F2730; --muted:#56606A; --line:#D2D5D8; --line-strong:#A3AAB1; --card:#FCFBF9;
  --cta:#2F5677; --cta-hover:#244563; --cta-ink:#FFFFFF;
  --avail:#FFFFFF; --avail-ring:#8EA2B5; --booked:#E5E6E4; --sel:#1F2934; --sel-soft:#E2E8EE;
  --sans:"Jost","Jost Fallback",Arial,sans-serif; --serif:"Neuton","Neuton Fallback",Georgia,"Times New Roman",serif;
  --header-h:80px; --rail:max(5vw,calc((100vw - 1320px)/2)); --radius:10px; --radius-s:8px;
  --shadow:0 2px 4px rgba(32,36,43,.05),0 18px 40px -22px rgba(32,36,43,.28);
}
html.theme-clearing body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);overflow-wrap:break-word}
.theme-clearing h1,.theme-clearing h2,.theme-clearing h3,.theme-clearing blockquote{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;margin:0;color:inherit;text-wrap:balance}
.theme-clearing h1{font-size:clamp(40px,5vw,68px);line-height:1}
.theme-clearing h2{font-size:clamp(32px,3.6vw,50px);line-height:1.05}
.theme-clearing h3{font-size:26px;line-height:1.15}
.theme-clearing p:where(.clr,.clr *){margin:0}
.theme-clearing a:where(.clr,.clr *){color:inherit;text-decoration:none}
.theme-clearing a:hover:where(.clr,.clr *){text-decoration:underline;text-underline-offset:4px}
.theme-clearing img:where(.clr,.clr *){display:block;max-width:100%;object-fit:cover}
.theme-clearing ul:where(.clr,.clr *),.theme-clearing ol:where(.clr,.clr *){margin:0;padding:0;list-style:none}
.theme-clearing button:where(.clr,.clr *){font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.theme-clearing :focus-visible{outline:2px solid var(--moss);outline-offset:3px;border-radius:4px}
.theme-clearing [id]:where(.clr,.clr *){scroll-margin-top:calc(var(--header-h) + 16px)}
.theme-clearing .sr:where(.clr,.clr *){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.theme-clearing .eyebrow:where(.clr,.clr *){font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
/* The roof from the logo before a hero's small line (Tom, 22 Oct 2026). */
.theme-clearing :is(.hero__copy,.lhero__copy) .eyebrow:where(.clr,.clr *)::before{content:'';display:inline-block;width:9px;height:5px;margin-right:7px;vertical-align:.12em;background:currentColor;clip-path:polygon(0 100%,50% 0,100% 100%,82% 100%,50% 36%,18% 100%)}
.theme-clearing .muted:where(.clr,.clr *){color:var(--muted)}
.theme-clearing .small:where(.clr,.clr *){font-size:13px}
.theme-clearing .ital:where(.clr,.clr *){font-family:var(--serif);font-style:italic}
.theme-clearing .ico:where(.clr,.clr *){width:18px;height:18px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-clearing .ico--fill:where(.clr,.clr *){fill:currentColor;stroke:none}

/* ---- buttons: Title Case, strong, never the same colour as the ground they sit on ---- */
.theme-clearing .btn:where(.clr,.clr *){display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border-radius:6px;font-family:var(--sans);font-size:15px;font-weight:500;line-height:1;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}
.theme-clearing .btn:hover:where(.clr,.clr *){text-decoration:none}
.theme-clearing .btn--cta:where(.clr,.clr *){background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}
.theme-clearing .btn--cta:hover:where(.clr,.clr *){background:var(--cta-hover);border-color:var(--cta-hover)}
.theme-clearing .btn--moss:where(.clr,.clr *){background:var(--moss);color:var(--paper);border-color:var(--moss)}
.theme-clearing .btn--moss:hover:where(.clr,.clr *){background:var(--moss-deep)}
.theme-clearing .btn--paper:where(.clr,.clr *){background:var(--paper);color:var(--moss);border-color:var(--paper)}
.theme-clearing .btn--paper:hover:where(.clr,.clr *){background:#fff}
.theme-clearing .btn--sm:where(.clr,.clr *){min-height:38px;padding:0 16px;font-size:14px}
.theme-clearing .btn--lg:where(.clr,.clr *){min-height:52px;padding:0 28px;font-size:16px}
.theme-clearing .btn .ico:where(.clr,.clr *){width:16px;height:16px}
.theme-clearing .link:where(.clr,.clr *){display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;border-bottom:1px solid var(--line-strong);padding:6px 0;min-height:40px}
.theme-clearing .link:hover:where(.clr,.clr *){text-decoration:none;border-bottom-color:var(--ink)}
.theme-clearing .link .ico:where(.clr,.clr *){width:16px;height:16px}

/* ---- header ---- */
.theme-clearing .hd:where(.clr,.clr *){position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid #1f29341a;height:var(--header-h);display:flex;align-items:center;gap:24px;padding:0 var(--rail)}
.theme-clearing .hd__logo:where(.clr,.clr *){flex:0 0 auto;display:block}
.theme-clearing .hd__logo img:where(.clr,.clr *){width:126px;height:auto;object-fit:contain}
.theme-clearing .nav:where(.clr,.clr *){margin:0 auto;display:flex;align-items:center;gap:2px;padding:4px;background:var(--cream);border:1px solid #d7d7d2;border-radius:10px}
.theme-clearing .nav>li:where(.clr,.clr *){position:relative}
.theme-clearing .nav>li>a:where(.clr,.clr *),.theme-clearing .nav>li>button:where(.clr,.clr *){display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:7px;font-size:15px;font-weight:500;color:var(--ink);line-height:1;white-space:nowrap}
.theme-clearing .nav>li>a:hover:where(.clr,.clr *),.theme-clearing .nav>li:hover>a:where(.clr,.clr *),.theme-clearing .nav>li:focus-within>a:where(.clr,.clr *),.theme-clearing .nav>li>a[aria-current]:where(.clr,.clr *){background:var(--paper);text-decoration:none}
.theme-clearing .nav .caret:where(.clr,.clr *){width:12px;height:12px;stroke-width:2}
.theme-clearing .nav .dd:where(.clr,.clr *){position:absolute;top:calc(100% + 10px);left:0;min-width:240px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-s);box-shadow:var(--shadow);padding:10px;display:none;z-index:70}
.theme-clearing .nav .dd:where(.clr,.clr *)::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.theme-clearing .nav>li:hover>.dd:where(.clr,.clr *),.theme-clearing .nav>li:focus-within>.dd:where(.clr,.clr *){display:block}
.theme-clearing .nav .dd a:where(.clr,.clr *){display:block;padding:8px 12px;border-radius:8px;font-size:15px}
.theme-clearing .nav .dd a:hover:where(.clr,.clr *){background:var(--sage);text-decoration:none}
.theme-clearing .nav .dd--mega:where(.clr,.clr *){min-width:620px;display:none;grid-template-columns:repeat(3,1fr);gap:4px 18px;padding:16px}
.theme-clearing .nav>li:hover>.dd--mega:where(.clr,.clr *),.theme-clearing .nav>li:focus-within>.dd--mega:where(.clr,.clr *){display:grid}
.theme-clearing .nav .dd__group>a:first-child:where(.clr,.clr *){font-family:var(--serif);font-size:20px;letter-spacing:-.01em;padding-bottom:4px}
.theme-clearing .nav .dd__group a+a:where(.clr,.clr *){font-size:14px;color:var(--muted);padding:5px 12px}
.theme-clearing .nav .dd__group a+a:hover:where(.clr,.clr *){color:var(--ink)}
.theme-clearing .hd__cta:where(.clr,.clr *){flex:0 0 auto}
.theme-clearing .hd__burger:where(.clr,.clr *){display:none;width:44px;height:44px;border-radius:8px;border:1px solid var(--line-strong);align-items:center;justify-content:center;margin-left:auto}
.theme-clearing .hd__burger .ico:where(.clr,.clr *){width:20px;height:20px}
@media (max-width:1180px){
  .theme-clearing .nav>li>a:where(.clr,.clr *),.theme-clearing .nav>li>button:where(.clr,.clr *){padding:9px 11px;font-size:14px}
  .theme-clearing .nav .dd--mega:where(.clr,.clr *){min-width:560px}
}
@media (max-width:1040px){
  html.theme-clearing{--header-h:68px}
  .theme-clearing .nav:where(.clr,.clr *){display:none}
  .theme-clearing .hd:where(.clr,.clr *){gap:12px}
  .theme-clearing .hd__burger:where(.clr,.clr *){display:inline-flex}
  .theme-clearing .hd__cta:where(.clr,.clr *){margin-left:auto}
  .theme-clearing .hd__burger:where(.clr,.clr *){margin-left:0}
  .theme-clearing .hd__logo img:where(.clr,.clr *){width:112px}
}
/* mobile drawer */
.theme-clearing .drawer:where(.clr,.clr *){position:fixed;inset:0;z-index:80;background:var(--paper);display:none;flex-direction:column;overflow:auto;padding:0 var(--rail) 24px}
.theme-clearing .drawer.is-open:where(.clr,.clr *){display:flex}
.theme-clearing .drawer__top:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;height:var(--header-h);border-bottom:1px solid var(--line)}
.theme-clearing .drawer details:where(.clr,.clr *){border-bottom:1px solid var(--line)}
.theme-clearing .drawer summary:where(.clr,.clr *),.theme-clearing .drawer>a:not(.btn):where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:26px;padding:14px 0;cursor:pointer;list-style:none;border-bottom:1px solid var(--line)}
.theme-clearing .drawer summary:where(.clr,.clr *)::-webkit-details-marker{display:none}
.theme-clearing .drawer details a:where(.clr,.clr *){display:block;padding:8px 0 8px 12px;font-size:16px;color:var(--muted)}
.theme-clearing .drawer details[open] summary .caret:where(.clr,.clr *){transform:rotate(180deg)}
.theme-clearing .drawer .caret:where(.clr,.clr *){width:16px;height:16px;stroke-width:2}
.theme-clearing .drawer__cta:where(.clr,.clr *){margin-top:20px;align-self:stretch}

/* ---- hero: rotating persona slides, each with its own CTA ---- */
.theme-clearing .hero:where(.clr,.clr *){position:relative;height:min(66vh,560px);min-height:420px;background:var(--moss);color:var(--paper);overflow:hidden;isolation:isolate}
.theme-clearing .hero__slide:where(.clr,.clr *){position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease;pointer-events:none}
.theme-clearing .hero__slide.is-on:where(.clr,.clr *){opacity:1;pointer-events:auto}
.theme-clearing .hero__slide>a.hero__img:where(.clr,.clr *){position:absolute;inset:0;display:block}
.theme-clearing .hero__slide img:where(.clr,.clr *){width:100%;height:100%;object-fit:cover}
.theme-clearing .hero__shade:where(.clr,.clr *){position:absolute;inset:0;background:linear-gradient(90deg,#141c24b8 0%,#141c2473 38%,#141c2410 70%),linear-gradient(0deg,#141c2470,transparent 45%);pointer-events:none}
.theme-clearing .hero__copy:where(.clr,.clr *){position:absolute;left:var(--rail);right:var(--rail);bottom:84px;max-width:640px}
.theme-clearing .hero__copy h1:where(.clr,.clr *){font-size:clamp(44px,5.6vw,80px);line-height:.98;margin:10px 0 14px;color:var(--paper)}
.theme-clearing .hero__copy p:where(.clr,.clr *){font-size:17px;max-width:420px;line-height:1.5}
.theme-clearing .hero__actions:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;align-items:center}
.theme-clearing .hero__caption:where(.clr,.clr *){position:absolute;right:var(--rail);bottom:52px;font-family:var(--serif);font-style:italic;font-size:14px;text-shadow:0 1px 7px #000}
.theme-clearing .hero__ctrl:where(.clr,.clr *){position:absolute;left:var(--rail);bottom:52px;display:flex;align-items:center;gap:8px;z-index:3}
.theme-clearing .hero__dot:where(.clr,.clr *){width:30px;height:4px;border-radius:2px;background:#f5f3ef66;overflow:hidden;padding:0}
.theme-clearing .hero__dot i:where(.clr,.clr *){display:block;height:100%;width:0;background:var(--paper)}
.theme-clearing .hero__dot.is-on i:where(.clr,.clr *){animation:clr-fill var(--dur,6s) linear forwards}
.theme-clearing .hero__dot.is-done i:where(.clr,.clr *){width:100%}
.theme-clearing .hero.is-paused .hero__dot i:where(.clr,.clr *){animation-play-state:paused}
@keyframes clr-fill{to{width:100%}}
.theme-clearing .hero__pause:where(.clr,.clr *){width:30px;height:30px;border-radius:999px;border:1px solid #f5f3ef80;display:inline-flex;align-items:center;justify-content:center;margin-left:6px}
.theme-clearing .hero__arr:where(.clr,.clr *){width:38px;height:38px;border-radius:999px;background:#f5f3efe6;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;margin-right:2px}
.theme-clearing .hero__arr:last-of-type:where(.clr,.clr *){margin-right:10px}
.theme-clearing .hero__arr .ico:where(.clr,.clr *){width:16px;height:16px;stroke-width:2}
.theme-clearing .hero.is-manual .hero__dot i:where(.clr,.clr *){animation:none;width:0}
.theme-clearing .hero.is-manual .hero__dot.is-on i:where(.clr,.clr *){width:100%}
.theme-clearing .hero.is-manual .hero__pause:where(.clr,.clr *){display:none}
.theme-clearing .hero__pause .ico:where(.clr,.clr *){width:12px;height:12px;stroke-width:2}
@media (prefers-reduced-motion:reduce){.theme-clearing .hero__slide:where(.clr,.clr *){transition:none}}
@media (max-width:700px){
  .theme-clearing .hero:where(.clr,.clr *){height:min(125vw,560px);min-height:400px}
  .theme-clearing .hero__copy:where(.clr,.clr *){bottom:76px}
  .theme-clearing .hero__copy h1:where(.clr,.clr *){font-size:clamp(40px,11vw,56px)}
  .theme-clearing .hero__copy p:where(.clr,.clr *){font-size:15px}
  .theme-clearing .hero__caption:where(.clr,.clr *){display:none}
  .theme-clearing .hero__ctrl:where(.clr,.clr *){bottom:44px}
}

.theme-clearing .hero--static .hero__slide:where(.clr,.clr *){opacity:1;pointer-events:auto;transition:none}
.theme-clearing .hero--static .hero__copy:where(.clr,.clr *){bottom:72px}
.theme-clearing .tiles:where(.clr,.clr *){display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:22px var(--rail) 0}
.theme-clearing .tile:where(.clr,.clr *){position:relative;display:block;aspect-ratio:3/2;border-radius:var(--radius-s);overflow:hidden;background:var(--sage);color:var(--paper)}
.theme-clearing .tile img:where(.clr,.clr *){width:100%;height:100%;transition:transform .5s}
.theme-clearing .tile:hover img:where(.clr,.clr *){transform:scale(1.03)}
.theme-clearing .tile:where(.clr,.clr *)::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#141c24cc 0%,#141c2455 45%,transparent 75%)}
.theme-clearing .tile__copy:where(.clr,.clr *){position:absolute;left:14px;right:14px;bottom:12px;z-index:1;display:flex;flex-direction:column;gap:3px}
.theme-clearing .tile__copy strong:where(.clr,.clr *){font-family:var(--sans);font-weight:500;font-size:16px;line-height:1.2}
.theme-clearing .tile:hover:where(.clr,.clr *){text-decoration:none}
@media (max-width:800px){.theme-clearing .tiles:where(.clr,.clr *){grid-template-columns:1fr 1fr;gap:10px;padding-top:14px}.theme-clearing .tile__copy strong:where(.clr,.clr *){font-size:14px}}

/* ---- search bar (home, landing) and the sticky band on results ---- */
.theme-clearing .sbwrap:where(.clr,.clr *){padding:0 var(--rail);position:relative;z-index:5;margin-top:-34px}
.theme-clearing .sb:where(.clr,.clr *){display:grid;grid-template-columns:1.25fr .8fr .8fr 1fr 1.05fr auto;align-items:stretch;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow)}
.theme-clearing .sb__f:where(.clr,.clr *){position:relative;padding:12px 18px;border-right:1px solid var(--line);min-width:0}
.theme-clearing .sb__f:last-of-type:where(.clr,.clr *){border-right:0}
.theme-clearing .sb__lab:where(.clr,.clr *){display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.theme-clearing .sb__in:where(.clr,.clr *){display:block;width:100%;font:16px/1.3 var(--sans);color:var(--ink);background:transparent;border:0;padding:4px 0;min-height:30px;color-scheme:light}
/* The focus ring (launch review A1, WCAG 2.4.7): the control's own outline
   gives way to a ring inside the field it sits in, and the focused control in
   a field of several (the dates) is underlined. */
.theme-clearing .sb__in:focus:where(.clr,.clr *){outline:0}
.theme-clearing .sb__f:focus-within:where(.clr,.clr *){box-shadow:inset 0 0 0 2px var(--ink);border-radius:var(--radius-s,6px)}
.theme-clearing .sb__in:focus-visible:where(.clr,.clr *){box-shadow:0 2px 0 0 var(--ink)}
.theme-clearing select.sb__in:where(.clr,.clr *){appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2730' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") right center/14px no-repeat;padding-right:20px;padding-left:3px;cursor:pointer}
.theme-clearing .sb__btn:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;font-size:16px;padding:4px 0;min-height:30px}
.theme-clearing .sb__btn .caret:where(.clr,.clr *){width:14px;height:14px;stroke-width:2;flex:0 0 auto}
.theme-clearing .sb__btn span:where(.clr,.clr *){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-clearing .sb__go:where(.clr,.clr *){display:flex;align-items:center;padding:10px 12px}
.theme-clearing .sb__go .btn:where(.clr,.clr *){min-height:46px}
.theme-clearing .sb__flex:where(.clr,.clr *){font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;margin-top:2px;display:inline-block}
.theme-clearing .sb__pop:where(.clr,.clr *){position:absolute;top:calc(100% + 8px);left:0;min-width:260px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-s);box-shadow:var(--shadow);padding:12px;display:none;z-index:40}
.theme-clearing .sb__pop.is-open:where(.clr,.clr *){display:block}
.theme-clearing .sb__pop label:where(.clr,.clr *){display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:8px;font-size:15px;cursor:pointer}
.theme-clearing .sb__pop label:hover:where(.clr,.clr *){background:var(--sage)}
.theme-clearing .sb__pop input[type=checkbox]:where(.clr,.clr *){width:18px;height:18px;accent-color:var(--moss);margin:0}
.theme-clearing .sb__pop .sb__popfoot:where(.clr,.clr *){display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:8px;padding-top:10px;font-size:13px}
.theme-clearing .sb__pop .sb__popfoot button:where(.clr,.clr *){text-decoration:underline;text-underline-offset:3px}
.theme-clearing .sb__hint:where(.clr,.clr *){font-size:12px;color:var(--muted);margin-top:4px}
.theme-clearing .sb__dates:where(.clr,.clr *){display:flex;gap:10px;align-items:center}
.theme-clearing .sb__dates .sb__in:where(.clr,.clr *){min-width:0}
.theme-clearing .sb__dates .sb__mode:where(.clr,.clr *){display:none}
.theme-clearing .sb.is-flex .sb__dates .sb__exact:where(.clr,.clr *){display:none}
.theme-clearing .sb.is-flex .sb__dates .sb__mode:where(.clr,.clr *){display:block}
@media (max-width:1100px){
  .theme-clearing .sb:where(.clr,.clr *){grid-template-columns:1.2fr .8fr .8fr 1fr 1fr;}
  .theme-clearing .sb__go:where(.clr,.clr *){grid-column:1/-1;border-top:1px solid var(--line);padding:12px}
  .theme-clearing .sb__go .btn:where(.clr,.clr *){width:100%}
}
@media (max-width:700px){
  .theme-clearing .sbwrap:where(.clr,.clr *){margin-top:-24px}
  .theme-clearing .sb:where(.clr,.clr *){grid-template-columns:1fr 1fr}
  .theme-clearing .sb__f:where(.clr,.clr *){padding:10px 14px;border-bottom:1px solid var(--line)}
  .theme-clearing .sb__f:nth-child(odd):where(.clr,.clr *){border-right:1px solid var(--line)}
  .theme-clearing .sb__f:nth-child(even):where(.clr,.clr *){border-right:0}
  .theme-clearing .sb__f--dates:where(.clr,.clr *){grid-column:1/-1;border-right:0!important}
  .theme-clearing .sb__pop:where(.clr,.clr *){position:fixed;left:12px;right:12px;bottom:12px;top:auto;min-width:0;max-height:60vh;overflow:auto;z-index:95;box-shadow:0 -6px 30px #141c2440}
  .theme-clearing .sb__pop label:where(.clr,.clr *){padding:11px 8px;font-size:16px}
}
/* sticky compact band (results page) */
.theme-clearing .sb-band:where(.clr,.clr *){position:sticky;top:var(--header-h);z-index:50;background:var(--paper);border-bottom:1px solid var(--line);padding:12px var(--rail)}
.theme-clearing .sb-band .sb:where(.clr,.clr *){box-shadow:none;border-radius:var(--radius)}
.theme-clearing .sb-band .sb__f:where(.clr,.clr *){padding:8px 14px}
.theme-clearing .sb-band .sb__lab:where(.clr,.clr *){font-size:10px;margin-bottom:1px}
.theme-clearing .sb-band .sb__in:where(.clr,.clr *),.theme-clearing .sb-band .sb__btn:where(.clr,.clr *){font-size:15px;min-height:26px}
.theme-clearing .sb-band .sb__go:where(.clr,.clr *){padding:6px 8px}
.theme-clearing .sb-band .sb__go .btn:where(.clr,.clr *){min-height:40px}
.theme-clearing .sb-band .sb__flex:where(.clr,.clr *){display:none}
.theme-clearing .sb-band.is-compact .sb__lab:where(.clr,.clr *){display:none}
.theme-clearing .sb__summary:where(.clr,.clr *){display:none}
@media (max-width:700px){
  .theme-clearing .sb-band:where(.clr,.clr *){padding:8px var(--rail)}
  .theme-clearing .sb-band .sb:where(.clr,.clr *){display:flex;align-items:center;gap:0}
  .theme-clearing .sb-band .sb__f:where(.clr,.clr *){display:none}
  .theme-clearing .sb-band .sb__summary:where(.clr,.clr *){display:flex;flex:1;align-items:center;justify-content:space-between;padding:8px 12px;font-size:14px}
  .theme-clearing .sb-band .sb__go:where(.clr,.clr *){border:0}
  .theme-clearing .sb-band .sb__go .btn:where(.clr,.clr *){min-height:36px;padding:0 14px}
}

/* ---- sections ---- */
.theme-clearing .sec:where(.clr,.clr *){padding:52px var(--rail)}
.theme-clearing .sec--tight:where(.clr,.clr *){padding-top:36px}
.theme-clearing .sec__head:where(.clr,.clr *){display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.theme-clearing .sec__head p:where(.clr,.clr *){max-width:460px;color:var(--muted);font-size:15px}
.theme-clearing .sec--cream:where(.clr,.clr *){background:var(--cream)}
.theme-clearing .sec--sage:where(.clr,.clr *){background:var(--sage)}
.theme-clearing .sec--clay:where(.clr,.clr *){background:var(--clay)}
.theme-clearing .sec--moss:where(.clr,.clr *){background:var(--moss);color:var(--paper)}
.theme-clearing .grid-3:where(.clr,.clr *){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.theme-clearing .grid-2:where(.clr,.clr *){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.theme-clearing .grid-4:where(.clr,.clr *){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1000px){.theme-clearing .grid-3:where(.clr,.clr *),.theme-clearing .grid-4:where(.clr,.clr *){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.theme-clearing .grid-3:where(.clr,.clr *),.theme-clearing .grid-2:where(.clr,.clr *),.theme-clearing .grid-4:where(.clr,.clr *){grid-template-columns:1fr}.theme-clearing .sec:where(.clr,.clr *){padding:40px var(--rail)}.theme-clearing .sec__head:where(.clr,.clr *){display:block}.theme-clearing .sec__head .link:where(.clr,.clr *){margin-top:10px}}

/* ---- property card: contained, scannable, pictures scroll in place ---- */
.theme-clearing .card:where(.clr,.clr *){background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.theme-clearing .card:hover:where(.clr,.clr *){transform:translateY(-2px);box-shadow:var(--shadow)}
.theme-clearing .card__media:where(.clr,.clr *){position:relative;aspect-ratio:4/3;background:var(--sage);overflow:hidden}
.theme-clearing .card__track:where(.clr,.clr *){display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.theme-clearing .card__track:where(.clr,.clr *)::-webkit-scrollbar{display:none}
.theme-clearing .card__track.is-gliding:where(.clr,.clr *){scroll-snap-type:none}
.theme-clearing .card__track>a:where(.clr,.clr *){flex:0 0 100%;scroll-snap-align:start;display:block;height:100%}
.theme-clearing .card__track img:where(.clr,.clr *){width:100%;height:100%}
.theme-clearing .card__arr:where(.clr,.clr *){position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:999px;background:#f5f3efe6;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.theme-clearing .card__arr--prev:where(.clr,.clr *){left:10px}.theme-clearing .card__arr--next:where(.clr,.clr *){right:10px}
.theme-clearing .card:hover .card__arr:where(.clr,.clr *),.theme-clearing .card:focus-within .card__arr:where(.clr,.clr *){opacity:1}
@media (hover:none){.theme-clearing .card__arr:where(.clr,.clr *){opacity:1}}
.theme-clearing .card__arr .ico:where(.clr,.clr *){width:16px;height:16px;stroke-width:2}
.theme-clearing .card__dots:where(.clr,.clr *){position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px;pointer-events:none}
.theme-clearing .card__dots i:where(.clr,.clr *){width:6px;height:6px;border-radius:999px;background:#f5f3ef99}
.theme-clearing .card__dots i.is-on:where(.clr,.clr *){background:var(--paper)}
.theme-clearing .card__tag:where(.clr,.clr *){position:absolute;left:12px;top:12px;background:#f5f3efe6;color:var(--ink);border-radius:4px;padding:5px 11px;font-size:12px;font-weight:500}
.theme-clearing .card__body:where(.clr,.clr *){padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.theme-clearing .card__head:where(.clr,.clr *){display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.theme-clearing .card__head h3:where(.clr,.clr *){font-size:30px;line-height:1}
.theme-clearing .card__feefo:where(.clr,.clr *){height:19px;width:auto;flex:0 0 auto}
.theme-clearing .card__place:where(.clr,.clr *){font-size:14px;color:var(--muted)}
.theme-clearing .card__place a:where(.clr,.clr *){text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.theme-clearing .chips:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:6px}
.theme-clearing .chip:where(.clr,.clr *){display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;background:#e7ebef;font-size:13px;line-height:1.3}
.theme-clearing .chip .ico:where(.clr,.clr *){width:14px;height:14px}
.theme-clearing .chip--hi:where(.clr,.clr *){background:var(--moss);color:var(--paper)}
.theme-clearing .card__dates:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.theme-clearing .card__date:where(.clr,.clr *){display:inline-flex;flex-direction:column;padding:5px 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--card);color:var(--ink);font-size:13px;line-height:1.3}
.theme-clearing .card__date small:where(.clr,.clr *){font-size:12px;color:var(--muted)}
.theme-clearing .card__date:hover:where(.clr,.clr *){border-color:var(--cta)}
.theme-clearing .card__date.is-on:where(.clr,.clr *){border-color:var(--cta);box-shadow:inset 0 0 0 1px var(--cta)}
.theme-clearing .card__foot:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.theme-clearing .card__price:where(.clr,.clr *){font-size:14px;color:var(--muted)}
.theme-clearing .card__price strong:where(.clr,.clr *){font-size:20px;font-weight:500;color:var(--ink);font-family:var(--sans)}
.theme-clearing .card--muted .card__media:where(.clr,.clr *){filter:saturate(.35) brightness(.96)}
.theme-clearing .card--muted:where(.clr,.clr *){background:var(--cream)}
.theme-clearing .card--soon .card__media:where(.clr,.clr *){aspect-ratio:3/2}

/* ---- places (map + regions) ---- */
.theme-clearing .places:where(.clr,.clr *){display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.theme-clearing .places__map:where(.clr,.clr *){height:460px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-strong);background:var(--sage)}
.theme-clearing .places__map .leaflet-tile:where(.clr,.clr *){filter:sepia(.35) saturate(.45) brightness(1.02)}
.theme-clearing .regions li:where(.clr,.clr *){border-top:1px solid var(--line-strong)}
.theme-clearing .regions li:last-child:where(.clr,.clr *){border-bottom:1px solid var(--line-strong)}
.theme-clearing .regions a:where(.clr,.clr *){display:flex;align-items:center;gap:16px;padding:14px 0;min-height:68px}
.theme-clearing .regions strong:where(.clr,.clr *){font-family:var(--serif);font-weight:400;font-size:28px;line-height:1}
.theme-clearing .regions small:where(.clr,.clr *){display:block;font-size:13px;color:var(--muted);margin-top:4px}
.theme-clearing .regions .n:where(.clr,.clr *){margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}
.theme-clearing .regions .n b:where(.clr,.clr *){font-weight:500;font-size:18px;color:var(--ink);margin-right:6px}
.theme-clearing .pin:where(.clr,.clr *){display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--moss);color:var(--paper);font:500 13px var(--sans);border:2px solid var(--paper);box-shadow:0 2px 6px #0003}
.theme-clearing .pin--price:where(.clr,.clr *){width:auto;padding:0 8px;height:28px;border-radius:8px;background:var(--card);color:var(--ink);border:1px solid var(--line-strong);font-size:13px;white-space:nowrap}
@media (max-width:900px){.theme-clearing .places:where(.clr,.clr *){grid-template-columns:1fr;gap:28px}.theme-clearing .places__map:where(.clr,.clr *){height:340px}}

/* ---- collections (come rain or shine) ---- */
.theme-clearing .exp:where(.clr,.clr *){display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}
/* The photo cut to the gable of the cabin in the logo (Tom, 22 Oct 2026). */
.theme-clearing .exp__img:where(.clr,.clr *){aspect-ratio:1;border-radius:0;clip-path:polygon(0 16%,50% 0,100% 16%,100% 100%,0 100%);overflow:hidden;background:var(--sage)}
.theme-clearing .exp__img img:where(.clr,.clr *){width:100%;height:100%}
.theme-clearing .coll:where(.clr,.clr *){display:grid;margin-top:20px}
.theme-clearing .coll a:where(.clr,.clr *){display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line-strong);min-height:62px}
.theme-clearing .coll a:last-child:where(.clr,.clr *){border-bottom:1px solid var(--line-strong)}
.theme-clearing .coll strong:where(.clr,.clr *){font-weight:500;font-size:17px}
.theme-clearing .coll small:where(.clr,.clr *){display:block;font-size:13px;color:var(--muted)}
.theme-clearing .coll .ico:where(.clr,.clr *){width:22px;height:22px;color:var(--moss)}
.theme-clearing .coll .arrow:where(.clr,.clr *){margin-left:auto;width:16px;height:16px}
@media (max-width:800px){.theme-clearing .exp:where(.clr,.clr *){grid-template-columns:1fr;gap:24px}.theme-clearing .exp__img:where(.clr,.clr *){max-width:420px}}

/* ---- doorways, journal, reviews, soon, press ---- */
.theme-clearing .door:where(.clr,.clr *){display:grid;grid-template-columns:1fr 1fr;gap:28px}
.theme-clearing .door article:where(.clr,.clr *){background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.theme-clearing .door img:where(.clr,.clr *){aspect-ratio:16/9;width:100%}
.theme-clearing .door div:where(.clr,.clr *){padding:20px 22px 22px}
.theme-clearing .door h2:where(.clr,.clr *){font-size:34px;margin:4px 0 8px}
.theme-clearing .door p:where(.clr,.clr *){color:var(--muted);font-size:15px;max-width:440px}
.theme-clearing .door .btn:where(.clr,.clr *){margin-top:14px}
@media (max-width:720px){.theme-clearing .door:where(.clr,.clr *){grid-template-columns:1fr}}
.theme-clearing .journal article img:where(.clr,.clr *){aspect-ratio:3/2;border-radius:var(--radius-s)}
.theme-clearing .journal h3:where(.clr,.clr *){font-size:26px;margin:12px 0 6px}
.theme-clearing .journal p:where(.clr,.clr *){font-size:14px;color:var(--muted)}
.theme-clearing .journal .eyebrow:where(.clr,.clr *){margin-top:12px}
.theme-clearing .reviews:where(.clr,.clr *){text-align:center}
.theme-clearing .reviews .feefo:where(.clr,.clr *){display:inline-flex;align-items:center;gap:14px;margin-top:14px}
.theme-clearing .quotes:where(.clr,.clr *){display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px;text-align:left}
.theme-clearing .quotes figure:where(.clr,.clr *){margin:0;padding-top:12px;border-top:1px solid var(--line-strong)}
.theme-clearing .quotes blockquote:where(.clr,.clr *){font-size:clamp(20px,1.7vw,24px);line-height:1.25;letter-spacing:-.01em}
.theme-clearing .quotes figcaption:where(.clr,.clr *){margin-top:12px;font-size:13px;color:var(--muted)}
@media (max-width:860px){.theme-clearing .quotes:where(.clr,.clr *){grid-template-columns:1fr}}
.theme-clearing .press:where(.clr,.clr *){display:flex;align-items:center;gap:28px;padding:22px var(--rail);border-top:1px solid #c0c6cc;background:var(--cream);overflow:hidden}
.theme-clearing .press span:where(.clr,.clr *){font-family:var(--serif);font-size:22px;white-space:nowrap}
.theme-clearing .press__logos:where(.clr,.clr *){display:flex;align-items:center;gap:40px;flex:1;justify-content:space-around;flex-wrap:wrap}
.theme-clearing .press__logos img:where(.clr,.clr *){height:26px;width:auto;max-width:120px;object-fit:contain;filter:grayscale(1) opacity(.7)}

/* ---- footer ---- */
.theme-clearing .ft:where(.clr,.clr *){background:var(--moss);color:var(--paper);padding:52px var(--rail) 22px;position:relative;overflow:hidden}
.theme-clearing .ft a:where(.clr,.clr *){color:var(--paper)}
.theme-clearing .ft__top:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:30px;border-bottom:1px solid #f5f3ef40}
.theme-clearing .ft__top img:where(.clr,.clr *){width:136px;filter:brightness(0) invert(1)}
.theme-clearing .ft__strap:where(.clr,.clr *){font-family:var(--serif);font-style:italic;font-size:24px;margin-top:10px}
.theme-clearing .ft__cols:where(.clr,.clr *){display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:32px;padding:30px 0 34px;position:relative;z-index:1}
.theme-clearing .ft h2:where(.clr,.clr *){font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-bottom:12px}
.theme-clearing .ft li:where(.clr,.clr *){margin:0 0 8px;font-size:14px}
.theme-clearing .ft__wa:where(.clr,.clr *){display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#0b2d1a!important;border-radius:6px;padding:10px 16px;font-weight:500;font-size:15px}
.theme-clearing .ft__wa:hover:where(.clr,.clr *){background:#1ebe5b;text-decoration:none}
.theme-clearing .ft__wa .ico:where(.clr,.clr *){width:20px;height:20px}
.theme-clearing .ft__bottom:where(.clr,.clr *){border-top:1px solid #f5f3ef40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:18px;font-size:12px;opacity:.9}
.theme-clearing .ft__bottom nav:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:18px}
/* The Plough drawn faintly into the footer where the fern was (Tom, 22 Oct
   2026): Mizar and Alcor in its handle and its pointers leading to Polaris,
   all three of them Shacks. A background, so it adds nothing to the page;
   the names are a second layer, left out on smaller screens. */
.theme-clearing .ft:where(.clr,.clr *)::after{--plough:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170'><g fill='none' stroke='%23A9BACB' stroke-linecap='round' stroke-linejoin='round'><path d='M10.2 149.9L53.9 120.7L96 111.8L132.6 117.3L200 113.9L192.7 164.3L141.6 158.3L132.6 117.3'/><path d='M200 113.9L229.4 7.7' stroke-dasharray='2 4'/></g><g fill='%23A9BACB'><circle cx='10.2' cy='149.9' r='1.7'/><circle cx='53.9' cy='120.7' r='2.1'/><circle cx='60.6' cy='109.7' r='.9'/><circle cx='96' cy='111.8' r='1.7'/><circle cx='132.6' cy='117.3' r='1.7'/><circle cx='200' cy='113.9' r='1.7'/><circle cx='192.7' cy='164.3' r='1.7'/><circle cx='141.6' cy='158.3' r='1.7'/><circle cx='229.4' cy='7.7' r='2.6'/></g></svg>");--plough-names:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 170' fill='%23A9BACB' font-family='Jost,Arial,sans-serif' font-size='7.5' font-weight='500' letter-spacing='1.35'><text x='218.4' y='13' text-anchor='end'>POLARIS</text><text x='47.7' y='104' text-anchor='middle'>ALCOR</text><text x='68.7' y='141' text-anchor='middle'>MIZAR</text></svg>");content:'';position:absolute;right:var(--rail);bottom:88px;width:240px;height:170px;opacity:.55;pointer-events:none;background:var(--plough-names),var(--plough);background-size:100% 100%;background-repeat:no-repeat}
@media (max-width:900px){.theme-clearing .ft__cols:where(.clr,.clr *){grid-template-columns:1fr 1fr}.theme-clearing .ft__top:where(.clr,.clr *){display:block}.theme-clearing .ft__top .btn:where(.clr,.clr *){margin-top:16px}.theme-clearing .ft:where(.clr,.clr *)::after{width:160px;height:113px;bottom:auto;top:28px;background-image:var(--plough)}}
@media (max-width:520px){.theme-clearing .ft__cols:where(.clr,.clr *){grid-template-columns:1fr}.theme-clearing .ft:where(.clr,.clr *)::after{width:150px;height:106px;top:auto;bottom:150px}}

/* ---- consent (small, assumed consent, pre-ticked options) ---- */
.theme-clearing .consent:where(.clr,.clr *){position:fixed;left:16px;bottom:16px;z-index:90;max-width:380px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-s);box-shadow:var(--shadow);padding:14px 16px;font-size:14px}
.theme-clearing .consent[hidden]:where(.clr,.clr *){display:none}
.theme-clearing .consent__actions:where(.clr,.clr *){display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.theme-clearing .consent__more:where(.clr,.clr *){margin-top:8px;font-size:12px;display:flex;gap:14px}
.theme-clearing .consent__more button:where(.clr,.clr *),.theme-clearing .consent__more a:where(.clr,.clr *){text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
.theme-clearing .consent__opts:where(.clr,.clr *){display:none;flex-wrap:wrap;gap:6px 14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.theme-clearing .consent__opts.is-open:where(.clr,.clr *){display:flex}
.theme-clearing .consent__opts label:where(.clr,.clr *){display:inline-flex;align-items:center;gap:6px;font-size:13px}
.theme-clearing .consent__opts input:where(.clr,.clr *){accent-color:var(--moss)}
@media (max-width:520px){.theme-clearing .consent:where(.clr,.clr *){left:8px;right:8px;bottom:8px;max-width:none}}

/* ---- results page ---- */
.theme-clearing .res__head:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.theme-clearing .res__head h1:where(.clr,.clr *){font-size:clamp(28px,3vw,40px)}
.theme-clearing .res__tools:where(.clr,.clr *){display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.theme-clearing .res__tools select:where(.clr,.clr *){font:15px var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:6px;padding:8px 32px 8px 14px;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2730' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}
.theme-clearing .toggle:where(.clr,.clr *){display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:6px;padding:8px 14px;font-size:14px;font-weight:500;background:var(--card)}
.theme-clearing .toggle[aria-pressed=true]:where(.clr,.clr *){background:var(--moss);color:var(--paper);border-color:var(--moss)}
.theme-clearing .facets:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.theme-clearing .facet:where(.clr,.clr *){display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);background:var(--card);border-radius:6px;padding:7px 12px;font-size:14px}
.theme-clearing .facet[aria-pressed=true]:where(.clr,.clr *){background:var(--sel-soft);border-color:var(--moss)}
.theme-clearing .facet .ico:where(.clr,.clr *){width:14px;height:14px}
.theme-clearing .res:where(.clr,.clr *){display:grid;grid-template-columns:1fr;gap:24px}
.theme-clearing .res.has-map:where(.clr,.clr *){grid-template-columns:1fr 1fr}
/* Google Maps writes position:relative on the box it draws in, which undid the sticky map and let its top
   push it down over the cards (Tom, 24 Oct 2026); ours wins. */
.theme-clearing .res__map:where(.clr,.clr *){position:sticky!important;top:calc(var(--header-h) + 92px);height:calc(100vh - var(--header-h) - 110px);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-strong);display:none;background:var(--sage)}
.theme-clearing .res.has-map .res__map:where(.clr,.clr *){display:block}
.theme-clearing .res.has-map .grid-3:where(.clr,.clr *){grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-clearing .res__map .leaflet-tile:where(.clr,.clr *){filter:sepia(.35) saturate(.45) brightness(1.02)}
.theme-clearing .res__sub:where(.clr,.clr *){margin:40px 0 14px;display:flex;align-items:baseline;gap:14px}
.theme-clearing .res__sub h2:where(.clr,.clr *){font-size:30px}
@media (max-width:900px){.theme-clearing .res.has-map:where(.clr,.clr *){grid-template-columns:1fr}.theme-clearing .res__map:where(.clr,.clr *){position:relative!important;top:auto;height:320px;order:-1}.theme-clearing .res.has-map .grid-3:where(.clr,.clr *){grid-template-columns:1fr}}

/* ---- landing page ---- */
.theme-clearing .lhero:where(.clr,.clr *){position:relative;height:min(52vh,460px);min-height:320px;background:var(--moss);color:var(--paper);overflow:hidden}
.theme-clearing .lhero img:where(.clr,.clr *){width:100%;height:100%}
.theme-clearing .lhero__copy:where(.clr,.clr *){position:absolute;left:var(--rail);right:var(--rail);bottom:72px;max-width:720px}
.theme-clearing .lhero__copy h1:where(.clr,.clr *){color:var(--paper);font-size:clamp(36px,4.8vw,64px)}
.theme-clearing .lhero__copy p:where(.clr,.clr *){font-size:17px;max-width:560px;margin-top:10px}
.theme-clearing .crumbs:where(.clr,.clr *){font-size:13px;color:var(--muted);padding:14px var(--rail) 0}
.theme-clearing .crumbs a:where(.clr,.clr *){text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.theme-clearing .prose:where(.clr,.clr *){max-width:720px;font-size:17px;line-height:1.6}
.theme-clearing .prose p+p:where(.clr,.clr *){margin-top:14px}
.theme-clearing .prose h2:where(.clr,.clr *){margin:0 0 14px;font-size:clamp(30px,3vw,42px)}
.theme-clearing .prose ul:where(.clr,.clr *){list-style:disc;padding-left:22px;margin:10px 0}
.theme-clearing .prose li:where(.clr,.clr *){margin:6px 0}
.theme-clearing .tbl:where(.clr,.clr *){width:100%;border-collapse:collapse;font-size:15px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden}
.theme-clearing .tbl th:where(.clr,.clr *),.theme-clearing .tbl td:where(.clr,.clr *){text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.theme-clearing .tbl th:where(.clr,.clr *){font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--cream)}
.theme-clearing .tbl tr:last-child td:where(.clr,.clr *){border-bottom:0}
.theme-clearing .tbl .ok:where(.clr,.clr *){color:#2f6b3a;font-weight:500}.theme-clearing .tbl .no:where(.clr,.clr *){color:#9a3b1e;font-weight:500}.theme-clearing .tbl .mid:where(.clr,.clr *){color:#8a6a1f;font-weight:500}
.theme-clearing .tbl td small:where(.clr,.clr *){display:block;color:var(--muted);font-size:13px}
.theme-clearing .faq details:where(.clr,.clr *){border-top:1px solid var(--line-strong)}
.theme-clearing .faq details:last-child:where(.clr,.clr *){border-bottom:1px solid var(--line-strong)}
.theme-clearing .faq summary:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;cursor:pointer;list-style:none;font-family:var(--serif);font-size:22px}
.theme-clearing .faq summary:where(.clr,.clr *)::-webkit-details-marker{display:none}
.theme-clearing .faq summary .ico:where(.clr,.clr *){width:18px;height:18px;flex:0 0 auto;transition:transform .2s}
.theme-clearing .faq details[open] summary .ico:where(.clr,.clr *){transform:rotate(45deg)}
.theme-clearing .faq .faq__a:where(.clr,.clr *){padding:0 0 18px;max-width:720px;color:var(--muted)}
.theme-clearing .faq .faq__a p+p:where(.clr,.clr *){margin-top:8px}

/* ---- gallery (property) ---- */
.theme-clearing .gal:where(.clr,.clr *){--gh:min(52vh,540px);position:relative;background:var(--cream);height:var(--gh)}
.theme-clearing .gal__track:where(.clr,.clr *){display:flex;gap:6px;height:100%;overflow-x:auto;scrollbar-width:none;padding:0 var(--rail)}
.theme-clearing .gal__track:where(.clr,.clr *)::-webkit-scrollbar{display:none}
.theme-clearing .gal__item:where(.clr,.clr *){flex:0 0 auto;height:100%;scroll-snap-align:start;position:relative;overflow:hidden;background:var(--sage);cursor:zoom-in;border:0;padding:0}
.theme-clearing .gal__item img:where(.clr,.clr *){height:100%;width:auto;display:block}
.theme-clearing .gal__arr:where(.clr,.clr *){position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;background:#f5f3efe6;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0002}
.theme-clearing .gal__arr--prev:where(.clr,.clr *){left:calc(var(--rail) + 12px)}.theme-clearing .gal__arr--next:where(.clr,.clr *){right:calc(var(--rail) + 12px)}
.theme-clearing .gal__arr .ico:where(.clr,.clr *){width:18px;height:18px;stroke-width:2}
.theme-clearing .gal__count:where(.clr,.clr *){position:absolute;right:calc(var(--rail) + 12px);bottom:12px;background:#f5f3efe6;border-radius:4px;padding:5px 11px;font-size:12px;font-weight:500}
.theme-clearing .gal__all:where(.clr,.clr *){position:absolute;left:calc(var(--rail) + 12px);bottom:12px}
@media (max-width:700px){.theme-clearing .gal:where(.clr,.clr *){--gh:62vw}.theme-clearing .gal__track:where(.clr,.clr *){padding:0;gap:3px;scroll-snap-type:x mandatory}.theme-clearing .gal__item:where(.clr,.clr *){flex:0 0 100%}.theme-clearing .gal__item img:where(.clr,.clr *){width:100%;height:100%;object-fit:cover}.theme-clearing .gal__arr:where(.clr,.clr *){display:none}}
.theme-clearing .lightbox:where(.clr,.clr *){position:fixed;inset:0;z-index:100;background:#0b0e12;display:none;align-items:center;justify-content:center}
.theme-clearing .lightbox.is-open:where(.clr,.clr *){display:flex}
.theme-clearing .lightbox img:where(.clr,.clr *){max-width:94vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.theme-clearing .lightbox__x:where(.clr,.clr *){position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:999px;background:#fff;color:#000;display:inline-flex;align-items:center;justify-content:center}
.theme-clearing .lightbox__arr:where(.clr,.clr *){position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;background:#ffffffe6;color:#000;display:inline-flex;align-items:center;justify-content:center}
.theme-clearing .lightbox__arr--prev:where(.clr,.clr *){left:18px}.theme-clearing .lightbox__arr--next:where(.clr,.clr *){right:18px}
.theme-clearing .lightbox__cap:where(.clr,.clr *){position:absolute;left:0;right:0;bottom:16px;text-align:center;color:#fff;font-size:13px}

/* ---- property page ---- */
.theme-clearing .prop:where(.clr,.clr *){display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,640px);gap:40px;padding:26px var(--rail) 40px;align-items:start}
.theme-clearing .prop__title:where(.clr,.clr *){display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.theme-clearing .prop__title h1:where(.clr,.clr *){font-size:clamp(44px,5vw,72px)}
.theme-clearing .prop__place:where(.clr,.clr *){font-size:16px;color:var(--muted)}
.theme-clearing .prop__place a:where(.clr,.clr *){text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.theme-clearing .prop__feefo:where(.clr,.clr *){display:flex;align-items:center;gap:10px;margin:10px 0 14px;font-size:14px;color:var(--muted)}
.theme-clearing .prop__feefo img:where(.clr,.clr *){height:28px;width:auto}
.theme-clearing .feat:where(.clr,.clr *){display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:14px 0 16px}
.theme-clearing .feat li:where(.clr,.clr *){display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:14px;font-weight:500}
.theme-clearing .feat .ico:where(.clr,.clr *){color:var(--moss);width:20px;height:20px}
.theme-clearing .prop__intro:where(.clr,.clr *){font-size:17px;line-height:1.6;max-width:640px}
.theme-clearing .prop__quick:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media (max-width:1000px){.theme-clearing .prop:where(.clr,.clr *){grid-template-columns:1fr;gap:28px}}
/* booking panel + calendar */
.theme-clearing .book:where(.clr,.clr *){background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px 20px;position:relative}
.theme-clearing .book__head:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.theme-clearing .book__head h2:where(.clr,.clr *){font-size:26px}
.theme-clearing .book__from:where(.clr,.clr *){font-size:14px;color:var(--muted)}
.theme-clearing .book__from strong:where(.clr,.clr *){font-weight:500;color:var(--ink);font-size:18px;font-family:var(--sans)}
.theme-clearing .cal:where(.clr,.clr *){font-family:var(--sans)}
.theme-clearing .cal__nav:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.theme-clearing .cal__nav button:where(.clr,.clr *){width:34px;height:34px;border-radius:999px;border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center}
.theme-clearing .cal__nav button .ico:where(.clr,.clr *){width:14px;height:14px;stroke-width:2}
.theme-clearing .cal__months:where(.clr,.clr *){display:grid;grid-template-columns:repeat(var(--cols,2),1fr);gap:18px}
.theme-clearing .cal__month:where(.clr,.clr *){width:100%;border-collapse:collapse;table-layout:fixed}
.theme-clearing .cal__month caption:where(.clr,.clr *){font:500 15px var(--sans);text-align:left;padding:0 0 8px}
.theme-clearing .cal__month th:where(.clr,.clr *){font:500 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 0;text-align:center}
.theme-clearing .cal__month td:where(.clr,.clr *){padding:2px;text-align:center}
.theme-clearing .day:where(.clr,.clr *){display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;aspect-ratio:1;min-height:36px;border-radius:9px;font:500 14px/1 var(--sans);border:1px solid transparent;position:relative;color:var(--ink)}
.theme-clearing .day--pad:where(.clr,.clr *){visibility:hidden}
.theme-clearing .day--in:where(.clr,.clr *){background:var(--avail);border-color:var(--avail-ring);cursor:pointer}
.theme-clearing .day--in:hover:where(.clr,.clr *){background:var(--sel-soft)}
.theme-clearing .day--out:where(.clr,.clr *){background:transparent;color:#9aa0a7;cursor:pointer}
.theme-clearing .day--booked:where(.clr,.clr *){background:var(--booked);color:#9aa0a7;text-decoration:line-through;cursor:pointer}
/* A booked day says what clicking it does in a small tip above it, on a
   screen with a pointer that hovers (and on keyboard focus). On a phone the
   key under the calendar says "tap", and a tap opens the waitlist. */
/* Only a day that would open the waitlist says so: a booked day offered as
   the check-out, or already part of the stay, is picked by a click (Tom, 21 Oct 2026). */
@media (hover:hover){.theme-clearing .day--booked:not(.day--co):not(.day--sel):not(.day--range):hover:where(.clr,.clr *)::after{content:"Join the waitlist";position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);background:var(--moss);color:var(--paper);font:500 12px/1 var(--sans);letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;padding:7px 10px;border-radius:8px;box-shadow:var(--shadow);z-index:5;pointer-events:none}}
.theme-clearing .day--booked:not(.day--co):not(.day--sel):not(.day--range):focus-visible:where(.clr,.clr *)::after{content:"Join the waitlist";position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);background:var(--moss);color:var(--paper);font:500 12px/1 var(--sans);text-decoration:none;white-space:nowrap;padding:7px 10px;border-radius:8px;z-index:5;pointer-events:none}
.theme-clearing .day--past:where(.clr,.clr *){color:#c3c7cc;background:transparent}
.theme-clearing .day--co:where(.clr,.clr *){background:var(--sel-soft);border-color:var(--avail-ring);cursor:pointer;color:var(--ink)}
.theme-clearing .day--co small:where(.clr,.clr *){font-size:10px;font-weight:500;color:var(--muted);margin-top:2px}
.theme-clearing .day--co:hover:where(.clr,.clr *){background:var(--moss);color:var(--paper)}
.theme-clearing .day--co:hover small:where(.clr,.clr *){color:var(--paper)}
.theme-clearing .day--sel:where(.clr,.clr *){background:var(--sel);color:var(--paper);border-color:var(--sel)}
.theme-clearing .day--range:where(.clr,.clr *){background:var(--sel-soft);border-color:var(--sel-soft)}
.theme-clearing .day--dim:where(.clr,.clr *){opacity:.4;cursor:default}
.theme-clearing .cal__key:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 0;font-size:12px;color:var(--muted)}
.theme-clearing .cal__key i:where(.clr,.clr *){display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px;border:1px solid var(--avail-ring);background:var(--avail)}
.theme-clearing .cal__key .k-booked i:where(.clr,.clr *){background:var(--booked);border-color:var(--booked)}
.theme-clearing .cal__key .k-sel i:where(.clr,.clr *){background:var(--sel);border-color:var(--sel)}
.theme-clearing .cal__key .k-co i:where(.clr,.clr *){background:var(--sel-soft)}
.theme-clearing .cal__status:where(.clr,.clr *){min-height:22px;font-size:14px;margin-top:8px}
.theme-clearing .book__sum:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.theme-clearing .book__sum p:where(.clr,.clr *){font-size:14px;color:var(--muted)}
.theme-clearing .book__sum strong:where(.clr,.clr *){display:block;font-size:20px;font-weight:500;color:var(--ink)}
.theme-clearing .finders:where(.clr,.clr *){display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.theme-clearing .finders__row:where(.clr,.clr *){display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.theme-clearing .finders select:where(.clr,.clr *){font:14px var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:8px;padding:6px 8px}
.theme-clearing .finders button.go:where(.clr,.clr *){font-size:13px;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.theme-clearing .finders__out:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:6px}
.theme-clearing .finders__out button:where(.clr,.clr *){border:1px solid var(--line-strong);border-radius:6px;padding:5px 10px;font-size:13px;background:var(--card)}
.theme-clearing .finders__out button:hover:where(.clr,.clr *){background:var(--sel-soft)}
.theme-clearing .wait:where(.clr,.clr *){position:absolute;left:12px;right:12px;bottom:12px;background:var(--moss);color:var(--paper);border-radius:var(--radius-s);padding:14px 16px;display:none;z-index:5;box-shadow:var(--shadow)}
.theme-clearing .wait.is-open:where(.clr,.clr *){display:block}
.theme-clearing .wait form:where(.clr,.clr *){display:flex;gap:8px;margin-top:10px}
.theme-clearing .wait input:where(.clr,.clr *){flex:1;min-width:0;font:15px var(--sans);padding:9px 12px;border-radius:6px;border:0;color:var(--ink);background:#fff}
.theme-clearing .wait input:where(.clr,.clr *)::placeholder{color:var(--muted);opacity:1}
.theme-clearing .wait__x:where(.clr,.clr *){position:absolute;top:8px;right:10px;width:30px;height:30px;color:var(--paper)}
.theme-clearing .wait p:where(.clr,.clr *){font-size:14px}
.theme-clearing .wait strong:where(.clr,.clr *){font-weight:500}
/* sub navigation */
.theme-clearing .subnav:where(.clr,.clr *){position:sticky;top:var(--header-h);z-index:50;background:var(--paper);border-bottom:1px solid var(--line);padding:0 var(--rail);display:flex;align-items:center;gap:16px;transform:translateY(-100%);opacity:0;transition:transform .25s,opacity .25s;height:0;overflow:hidden}
.theme-clearing .subnav.is-on:where(.clr,.clr *){transform:none;opacity:1;height:auto}
.theme-clearing .subnav ul:where(.clr,.clr *){display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}
.theme-clearing .subnav ul:where(.clr,.clr *)::-webkit-scrollbar{display:none}
.theme-clearing .subnav a:where(.clr,.clr *){display:block;padding:14px 10px;font-size:14px;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent}
.theme-clearing .subnav a.is-on:where(.clr,.clr *){border-bottom-color:var(--moss)}
.theme-clearing .subnav .btn:where(.clr,.clr *){margin-left:auto}
@media (max-width:700px){.theme-clearing .subnav .btn:where(.clr,.clr *){min-height:36px;padding:0 14px;font-size:13px}.theme-clearing .subnav a:where(.clr,.clr *){padding:12px 8px;font-size:13px}}
/* section grids on property */
.theme-clearing .psec:where(.clr,.clr *){padding:40px var(--rail);border-top:1px solid var(--line)}
.theme-clearing .psec h2:where(.clr,.clr *){font-size:clamp(30px,3vw,42px);margin-bottom:18px}
.theme-clearing .psec__two:where(.clr,.clr *){display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media (max-width:900px){.theme-clearing .psec__two:where(.clr,.clr *){grid-template-columns:1fr;gap:24px}}
.theme-clearing .great:where(.clr,.clr *){display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.theme-clearing .great li:where(.clr,.clr *){background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);padding:16px 18px}
.theme-clearing .great h3:where(.clr,.clr *){font-size:22px;display:flex;align-items:center;gap:10px}
.theme-clearing .great h3 .ico:where(.clr,.clr *){color:var(--moss);width:22px;height:22px}
.theme-clearing .great p:where(.clr,.clr *){font-size:14px;color:var(--muted);margin-top:6px}
.theme-clearing .great li.great--no:where(.clr,.clr *){background:var(--cream)}
.theme-clearing .map:where(.clr,.clr *){height:380px;border-radius:var(--radius);overflow:hidden;isolation:isolate;border:1px solid var(--line-strong);background:var(--sage)}
.theme-clearing .map .leaflet-tile:where(.clr,.clr *){filter:sepia(.35) saturate(.45) brightness(1.02)}
.theme-clearing .how:where(.clr,.clr *){display:grid;gap:10px}
.theme-clearing .how__tabs:where(.clr,.clr *){display:flex;gap:6px}
.theme-clearing .how__tabs button:where(.clr,.clr *){border:1px solid var(--line-strong);border-radius:6px;padding:7px 14px;font-size:14px;font-weight:500;background:var(--card)}
.theme-clearing .how__tabs button[aria-selected=true]:where(.clr,.clr *){background:var(--moss);color:var(--paper);border-color:var(--moss)}
.theme-clearing .how__panel:where(.clr,.clr *){display:none}
.theme-clearing .how__panel.is-on:where(.clr,.clr *){display:block}
.theme-clearing .drive:where(.clr,.clr *){display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.theme-clearing .drive li:where(.clr,.clr *){background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px}
.theme-clearing .drive strong:where(.clr,.clr *){display:block;font-weight:500;font-size:18px}
.theme-clearing .fromyou:where(.clr,.clr *){display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.theme-clearing .fromyou input:where(.clr,.clr *){font:15px var(--sans);padding:9px 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--card);width:160px;text-transform:uppercase}
.theme-clearing .fromyou output:where(.clr,.clr *){font-size:14px;color:var(--muted)}
/* in your cabin */
.theme-clearing .uses:where(.clr,.clr *){display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.theme-clearing .uses button:where(.clr,.clr *){display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;background:var(--card)}
.theme-clearing .uses button[aria-selected=true]:where(.clr,.clr *){background:var(--moss);color:var(--paper);border-color:var(--moss)}
.theme-clearing .uses .ico:where(.clr,.clr *){width:16px;height:16px}
.theme-clearing .use:where(.clr,.clr *){display:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);padding:18px 20px}
.theme-clearing .use.is-on:where(.clr,.clr *){display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
.theme-clearing .use p:where(.clr,.clr *){font-size:15px;color:var(--muted);margin-bottom:10px}
.theme-clearing .use .items:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:6px}
/* Near-black and medium weight on the sage (option B, 16 Oct 2026: the green-grey read as low contrast). Rounded, not round: a long name wraps. */
.theme-clearing .use .items li:where(.clr,.clr *){background:var(--sage);color:#1A1F27;font-weight:500;border-radius:4px;padding:4px 10px;font-size:13px}
.theme-clearing .use__room:where(.clr,.clr *){font-size:13px;color:var(--muted);margin-top:4px}
@media (max-width:760px){.theme-clearing .use.is-on:where(.clr,.clr *){grid-template-columns:1fr}}
.theme-clearing .inv:where(.clr,.clr *){position:fixed;inset:0;z-index:100;background:#141c2480;display:none;align-items:center;justify-content:center;padding:20px}
.theme-clearing .inv.is-open:where(.clr,.clr *){display:flex}
.theme-clearing .inv__box:where(.clr,.clr *){background:var(--card);border-radius:var(--radius);width:min(820px,100%);max-height:88vh;overflow:auto;padding:22px 24px;position:relative}
.theme-clearing .inv__box input:where(.clr,.clr *){width:100%;font:16px var(--sans);padding:10px 14px;border:1px solid var(--line-strong);border-radius:6px;margin:10px 0 16px}
.theme-clearing .inv__grp:where(.clr,.clr *){margin-bottom:14px}
.theme-clearing .inv__grp h3:where(.clr,.clr *){font-size:20px;margin-bottom:6px}
.theme-clearing .inv__grp ul:where(.clr,.clr *){columns:3;column-gap:20px;font-size:14px}
.theme-clearing .inv__grp li:where(.clr,.clr *){break-inside:avoid;padding:2px 0}
.theme-clearing .inv__x:where(.clr,.clr *){position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center}
@media (max-width:700px){.theme-clearing .inv__grp ul:where(.clr,.clr *){columns:2}}
/* ask */
.theme-clearing .ask:where(.clr,.clr *){background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);padding:18px 20px}
.theme-clearing .ask form:where(.clr,.clr *){display:flex;gap:8px;margin-top:10px}
.theme-clearing .ask input:where(.clr,.clr *){flex:1;font:15px var(--sans);padding:10px 14px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}
.theme-clearing .ask__sug:where(.clr,.clr *){display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.theme-clearing .ask__sug button:where(.clr,.clr *){border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:13px;background:var(--paper)}
.theme-clearing .ask__a:where(.clr,.clr *){margin-top:12px;padding:12px 14px;background:var(--sage);border-radius:var(--radius-s);font-size:14px;display:none}
.theme-clearing .ask__a.is-on:where(.clr,.clr *){display:block}
/* reviews on property */
.theme-clearing .rev__badge:where(.clr,.clr *){display:flex;align-items:center;gap:14px;margin-bottom:14px}
.theme-clearing .rev__badge img:where(.clr,.clr *){height:38px}
.theme-clearing .rev__list:where(.clr,.clr *){display:grid;grid-template-columns:1fr 1fr;gap:16px}
.theme-clearing .rev__list figure:where(.clr,.clr *){margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);padding:16px 18px}
.theme-clearing .rev__list blockquote:where(.clr,.clr *){font-size:17px;line-height:1.35}
.theme-clearing .rev__list figcaption:where(.clr,.clr *){font-size:13px;color:var(--muted);margin-top:8px}
.theme-clearing .stars:where(.clr,.clr *){color:#FFC800;letter-spacing:1px;font-size:14px}
@media (max-width:700px){.theme-clearing .rev__list:where(.clr,.clr *){grid-template-columns:1fr}}
/* stay local */
.theme-clearing .local:where(.clr,.clr *){display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.theme-clearing .local li:where(.clr,.clr *){background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);padding:14px 16px;font-size:14px}
.theme-clearing .local strong:where(.clr,.clr *){display:block;font-weight:500;font-size:16px}
.theme-clearing .local small:where(.clr,.clr *){color:var(--muted)}
@media (max-width:760px){.theme-clearing .local:where(.clr,.clr *){grid-template-columns:1fr}}
/* mobile book bar */
.theme-clearing .bookbar:where(.clr,.clr *){position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--paper);border-top:1px solid var(--line);padding:10px var(--rail);display:none;align-items:center;justify-content:space-between;gap:12px}
.theme-clearing .bookbar p:where(.clr,.clr *){font-size:13px;color:var(--muted)}
.theme-clearing .bookbar strong:where(.clr,.clr *){display:block;font-size:17px;font-weight:500;color:var(--ink)}
/* --bookbar-h: the room the phone's Book bar takes at the foot of the screen
   (0 where there is none), so the consent card and the chat launcher sit above
   it instead of on it (launch review U2/A4, 6 Nov 2026). */
html.theme-clearing body{--bookbar-h:0px}
@media (max-width:1000px){.theme-clearing .bookbar:where(.clr,.clr *){display:flex}html.theme-clearing body.has-bookbar{--bookbar-h:70px;padding-bottom:var(--bookbar-h)}}

/* ---- index / notes ---- */
.theme-clearing .note:where(.clr,.clr *){background:#fff8e6;border:1px solid #e8d8a8;border-radius:10px;padding:10px 14px;font-size:13px;color:#5b4a14;margin:12px var(--rail) 0}

/* ---- legacy tokens: older modules on content pages read these ---- */
html.theme-clearing{
  --font:var(--sans); --display:var(--serif);
  --stone:var(--cream); --ground:var(--paper); --photo-bg:var(--sage);
  --muted-2:#646E78; --faint:#848D96;
  --season:var(--moss); --season-ink:var(--paper); --season-soft:var(--sage);
  --mint:var(--sage); --mint-deep:var(--sage); --green:var(--moss);
  --container:1320px; --container-pad:max(5vw,calc((100vw - 1320px)/2));
}
html.theme-clearing body{font-family:var(--sans)}

/* ---- the clr reset: new modules and chrome only ---- */
.theme-clearing .clr{font-family:var(--sans)}
.theme-clearing :is(p,figure):where(.clr,.clr *){margin:0}
.theme-clearing a:where(.clr,.clr *){color:inherit;text-decoration:none}
.theme-clearing a:where(.clr,.clr *):hover{text-decoration:underline;text-underline-offset:4px}
.theme-clearing img:where(.clr,.clr *){display:block;max-width:100%;object-fit:cover}
.theme-clearing :is(ul,ol):where(.clr,.clr *){margin:0;padding:0;list-style:none}
.theme-clearing .prose :is(ul,ol):where(.clr,.clr *){list-style:disc;padding-left:22px;margin:10px 0}
.theme-clearing button:where(.clr,.clr *){font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.theme-clearing .btn:where(.clr,.clr *),.theme-clearing button.btn:where(.clr,.clr *){border:1px solid transparent}
.theme-clearing .btn--cta:where(.clr,.clr *){background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}
.theme-clearing .btn--cta:where(.clr,.clr *):hover{background:var(--cta-hover);border-color:var(--cta-hover)}
.theme-clearing .btn--moss:where(.clr,.clr *){background:var(--moss);color:var(--paper);border-color:var(--moss)}
.theme-clearing .btn--paper:where(.clr,.clr *){background:var(--paper);color:var(--moss);border-color:var(--paper)}
.theme-clearing .btn--line:where(.clr,.clr *){background:transparent;color:var(--ink);border-color:var(--line-strong)}
.theme-clearing .site-main{display:block}
.theme-clearing .site-main>.clr{max-width:none;margin-top:0;margin-bottom:0}

/* ---- skip link ---- */
.theme-clearing .skip-link{position:absolute;left:-999px;top:8px;background:var(--moss);color:var(--paper);padding:10px 14px;border-radius:6px;z-index:100}
.theme-clearing .skip-link:focus{left:12px}

/* ---- consent: the banner from consent.js in the clearing card ---- */
/* Centred at the foot of the screen and above every other widget (Tom, 16 Oct
   2026: Klaviyo's "Save 10%" corner covered it), so it is never hidden. */
.theme-clearing .site-consent{left:50%;transform:translateX(-50%);z-index:2147483600;bottom:calc(16px + var(--bookbar-h,0px));width:min(420px,calc(100vw - 32px));background:var(--card);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-s);box-shadow:var(--shadow);padding:14px 16px;font:14px/1.45 var(--sans);display:block}
.theme-clearing .site-consent[hidden]{display:none}
.theme-clearing .site-consent__actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.theme-clearing .site-consent__accept{background:var(--moss);border:1px solid var(--moss);color:var(--paper);border-radius:6px;min-height:38px;padding:0 16px;font:500 14px var(--sans)}
.theme-clearing .site-consent__accept:hover,.theme-clearing .site-consent__accept:focus-visible{background:var(--moss-deep);border-color:var(--moss-deep);color:var(--paper)}
.theme-clearing .site-consent__decline{border:1px solid var(--line-strong);border-radius:6px;min-height:38px;padding:0 16px;font:500 14px var(--sans);text-decoration:none;color:var(--ink);background:transparent}
.theme-clearing .site-consent__more{margin-top:8px;font-size:12px;display:flex;gap:14px}
.theme-clearing .site-consent__link{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.theme-clearing .site-consent__options{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
.theme-clearing .site-consent__box input{accent-color:var(--moss)}
.theme-clearing .site-consent__save{border-radius:6px;border:1px solid var(--moss);background:var(--moss);color:var(--paper);padding:6px 14px;font:500 13px var(--sans)}
@media (max-width:520px){.theme-clearing .site-consent{bottom:calc(8px + var(--bookbar-h,0px));width:calc(100vw - 16px)}}
/* While the card asks, the chat launcher steps aside: on a phone the card is
   the screen's width and would cover it (U2/A4). Back once a choice is made. */
@media (max-width:700px){html.theme-clearing body:has(.site-consent:not([hidden])) .lc-launch{display:none}}
/* And while the calendar fills a phone's screen (after Book Now): above the
   Book bar the launcher sat on the calendar's last row (Tom, 6 Nov 2026).
   clr-bookbar.client.js sets book-in-view; an open chat panel is untouched. */
@media (max-width:700px){html.theme-clearing body.has-bookbar.book-in-view .lc-launch{display:none}}

/* ---- Feefo's score badge (lib/clearing.js feefoBadge): Feefo draws it
   about 276x65 (service 259x65) and lays its words out in the room it is
   given, so it keeps its own width (inline-block) and only its height is
   reserved from the start: nothing below it moves when it draws. zoom scales
   Feefo's own layout as a whole. ---- */
.theme-clearing .feefo-badge:where(.clr *){display:inline-flex;align-items:center;justify-content:flex-end;flex:0 0 auto;line-height:0;align-self:center}
.theme-clearing .feefo-badge:where(.clr *) feefo-score-badge{display:inline-block;white-space:nowrap}
/* A touch bigger on the cards (Tom, 17 Oct 2026): .55 was. */
.theme-clearing .feefo-badge--card:where(.clr *){min-width:163px;height:41px}
.theme-clearing .feefo-badge--card:where(.clr *) feefo-score-badge{zoom:.63}
.theme-clearing .feefo-badge--page:where(.clr *){min-width:194px;height:49px}
.theme-clearing .feefo-badge--page:where(.clr *) feefo-score-badge{zoom:.75}
@media (max-width:420px){
  .theme-clearing .feefo-badge--card:where(.clr *){min-width:142px;height:36px}
  .theme-clearing .feefo-badge--card:where(.clr *) feefo-score-badge{zoom:.55}
}
.theme-clearing .card__head:where(.clr *){align-items:center}
.theme-clearing .rev__badge:where(.clr *){display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.theme-clearing .rev__badge:where(.clr *) a{font-size:14px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}

/* The search bar's drop-down lists (month, nights, guests, ± days): a little
   room at the left of each choice, so it is not hard against the list's edge
   (Tom, 16 Oct 2026). Firefox honours the option's padding. Chrome and Edge
   on Windows draw the list from the select's own left padding and ignore the
   option's, so the select itself starts its words 3px in (select.sb__in
   above; Tom, 22 Oct 2026: "a 2-3 px gap"), as the cabin page's First
   available select does with its 8px. */
.theme-clearing select.sb__in:where(.clr,.clr *) option{padding:4px 12px}

.theme-clearing .hd__nav:where(.clr,.clr *){margin:0 auto;display:flex}
.theme-clearing .drawer[hidden]:where(.clr){display:none}
.theme-clearing .drawer nav:where(.clr,.clr *){display:block}
.theme-clearing .drawer nav>a:where(.clr,.clr *){display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:26px;padding:14px 0;border-bottom:1px solid var(--line)}
.theme-clearing .drawer details.drawer__region:where(.clr,.clr *){border-bottom:0}
.theme-clearing .drawer details.drawer__region>summary:where(.clr,.clr *){font-family:inherit;font-size:16px;color:var(--ink);padding:8px 0 8px 12px;border-bottom:0;justify-content:flex-start;gap:8px}
.theme-clearing .drawer details.drawer__region>summary .caret:where(.clr,.clr *){width:14px;height:14px;color:var(--moss);opacity:.7;transform:rotate(-90deg);transition:transform .2s ease}
.theme-clearing .drawer details.drawer__region[open]>summary .caret:where(.clr,.clr *){transform:none}
.theme-clearing .drawer__towns:where(.clr,.clr *){margin:0 0 6px 18px;padding-left:4px;border-left:1px solid color-mix(in srgb,var(--moss) 22%,transparent)}
.theme-clearing .drawer__towns a:where(.clr,.clr *){padding:7px 0 7px 14px!important;font-size:15px}
.theme-clearing .ft__wa-line:where(.clr,.clr *){margin-bottom:12px}
.theme-clearing .ft__bottom small:where(.clr,.clr *){font-size:12px}
@media (max-width:1040px){.theme-clearing .hd__nav:where(.clr,.clr *){display:none}}
.lc-launch{position:fixed;right:16px;bottom:16px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:75;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border:0;border-radius:999px;background:var(--moss,#1F2934);color:var(--paper,#F5F3EF);font:500 15px/1 var(--sans,Arial,sans-serif);box-shadow:var(--shadow,0 6px 18px rgba(0,0,0,.25));cursor:pointer}
.lc-launch:hover{background:var(--moss-deep,#161D26)}
.lc-launch:focus-visible{outline:3px solid var(--cta,#2F5677);outline-offset:2px}
.lc-launch[hidden]{display:none}
.lc-launch i{position:absolute;top:-7px;right:-5px;box-sizing:border-box;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:#D92D20;color:#fff;box-shadow:0 0 0 2px #fff;font:700 12px/22px var(--sans,Arial,sans-serif);font-style:normal;text-align:center}
body.has-bookbar .lc-launch{bottom:calc(max(16px,env(safe-area-inset-bottom)) + var(--bookbar-h,0px))}
/* CLEARING DESIGN — the older modules (content pages from the website
   database, Build, Landhosts, the stay family the clearing pages do not
   replace) restyled to sit in the clearing design (design/clearing branch).
   Loaded after clearing.css inside /static/clearing.css, on html.theme-clearing
   pages only. Rules here target the older modules' own m-<name> classes.

   Specificity: the shacks theme's rules are html.theme-shacks .x (0,2,1) and
   the modules' own are .m-x (0,1,0), both in earlier files, so every rule
   here starts html.theme-clearing and wins by order at equal weight. Nothing
   here changes markup or behaviour: Tom's pages stay his page data (law 2),
   the forms post and push exactly as before. */

/* ======================================================================
   1. CONTENT PAGES (Tom's page data, framed by brand.js)
   ====================================================================== */

/* ---- page rhythm: on the design's rail, like the header and footer ---- */
/* base.css pads every module with --container-pad, which the clearing theme
   sets to the rail; its 1320px container then put content 40px inside the
   header's logo at 1400 wide. Without the container the rail is the page's
   one left edge. */
html.theme-clearing .site-main>:where(:not(.clr):not(.is-full)){max-width:none}
html.theme-clearing .site-main>:is(.m-rich-text--reading,.m-image,.m-gallery,.m-columns,.m-buttons){max-width:none;margin-left:0;margin-right:0}
html.theme-clearing .site-main>:first-child:not(.is-full){margin-top:28px}
/* Headings in the design are Neuton at its one weight; the shacks theme's
   600 made the browser draw a false bold (the new modules' too). */
html.theme-clearing .site-main :is(h1,h2,h3){font-weight:400}

/* ---- the trail (brand.js frame: classic-crumbs) as the design's .crumbs ---- */
html.theme-clearing .site-main>.m-classic-crumbs{padding-top:14px;font-size:13px}
html.theme-clearing .m-classic-crumbs ol{color:var(--muted);gap:2px 6px}
html.theme-clearing .m-classic-crumbs li{gap:6px;align-items:baseline}
html.theme-clearing .m-classic-crumbs li>span[aria-hidden]{font-size:0}
html.theme-clearing .m-classic-crumbs li>span[aria-hidden]::after{content:"›";font-size:13px}
html.theme-clearing .m-classic-crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
html.theme-clearing .m-classic-crumbs a:hover{text-decoration-color:var(--ink)}
html.theme-clearing .m-classic-crumbs [aria-current]{color:var(--ink)}
html.theme-clearing .site-main>.m-classic-crumbs+*{margin-top:22px}

/* ---- a journal post's strap line, then the date over the title ---- */
html.theme-clearing .site-main>.m-classic-strap{margin-bottom:12px}
html.theme-clearing .m-classic-strap__text{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html.theme-clearing .m-classic-strap+.m-heading h1{font-size:clamp(36px,4.4vw,58px);font-weight:400;line-height:1.04;max-width:20ch}
html.theme-clearing .m-classic-strap+.m-heading .m-heading__intro{font-size:13px;letter-spacing:.04em;color:var(--muted);margin:0 0 12px}

/* ---- headings ---- */
html.theme-clearing .m-heading h1{font-size:clamp(36px,4.4vw,58px);line-height:1.04;max-width:22ch}
html.theme-clearing .m-heading h2{font-size:clamp(28px,3vw,42px);line-height:1.08;max-width:28ch}
html.theme-clearing .m-heading h3{font-size:24px}
html.theme-clearing .m-heading__intro{font-size:17px;line-height:1.55;color:var(--muted);max-width:640px;margin-top:14px}

/* ---- rich text: the design's reading column (.prose: 17px, 760px) ---- */
html.theme-clearing .m-rich-text{font-size:17px;line-height:1.6;color:var(--ink)}
html.theme-clearing .m-rich-text>*{max-width:760px}
html.theme-clearing .m-rich-text>:is(table,.wp-block-embed,iframe){max-width:1000px}
html.theme-clearing .m-rich-text p{margin:0 0 16px}
html.theme-clearing .m-rich-text h1{font-size:clamp(36px,4.4vw,58px);line-height:1.04;margin:0 0 20px;max-width:22ch}
html.theme-clearing .m-rich-text h2{font-size:clamp(28px,2.8vw,38px);line-height:1.1;margin:40px 0 12px}
html.theme-clearing .m-rich-text h3{font-size:24px;line-height:1.2;margin:28px 0 8px}
html.theme-clearing .m-rich-text h4{font-family:var(--sans);font-size:17px;font-weight:500;margin:22px 0 6px}
html.theme-clearing .m-rich-text>:is(h1,h2,h3,h4):first-child{margin-top:0}
/* A full-width text slot (width: full) runs its heading and lead across the
   content width, e.g. a sauna page's title and intro (launch review 6 Nov 2026). */
html.theme-clearing .m-rich-text--full>:is(h1,h2,h3,h4,p,ul,ol){max-width:none}
html.theme-clearing .m-rich-text :is(h1,h2,h3,h4):empty{display:none}
html.theme-clearing .m-rich-text a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong);text-decoration-thickness:1px}
html.theme-clearing .m-rich-text a:hover{text-decoration-color:var(--ink)}
html.theme-clearing .m-rich-text strong{font-weight:500}
html.theme-clearing .m-rich-text :is(ul,ol){padding-left:22px;margin:0 0 16px}
html.theme-clearing .m-rich-text li{margin:0 0 8px}
html.theme-clearing .m-rich-text li::marker{color:var(--muted)}
html.theme-clearing .m-rich-text blockquote{border-left:2px solid var(--line-strong);padding-left:20px;margin:24px 0;font-family:var(--serif);font-size:22px;line-height:1.35;color:var(--ink)}
html.theme-clearing .m-rich-text img{border-radius:var(--radius-s)}
html.theme-clearing .m-rich-text figcaption{font-size:13px;color:var(--muted);margin-top:8px}
html.theme-clearing .m-rich-text hr{border:0;border-top:1px solid var(--line);margin:32px 0}
html.theme-clearing .m-rich-text table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden}
html.theme-clearing .m-rich-text :is(th,td){border:0;border-bottom:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
html.theme-clearing .m-rich-text th{font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--cream)}
html.theme-clearing .m-rich-text tr:last-child>:is(th,td){border-bottom:0}
html.theme-clearing .m-text{font-size:17px;line-height:1.6}

/* ---- photographs and galleries keep to the words' 760px column, and no
   photograph stands taller than three quarters of the screen: its frame
   follows the screen and the crop follows its focal point (render.js), as
   the cabin photos do. Tom, 22 Oct 2026: fixed across the template, not
   page by page, so nobody scrolls three screens to get past a photograph.
   Columns of words keep 1000px. ---- */
html.theme-clearing{--photo-max-h:min(75vh,720px)}
@supports (height:1svh){html.theme-clearing{--photo-max-h:min(75svh,720px)}}
html.theme-clearing .site-main>:is(.m-image,.m-gallery){padding-right:max(var(--rail),calc(100% - var(--rail) - 760px))}
html.theme-clearing .site-main>.m-columns{padding-right:max(var(--rail),calc(100% - var(--rail) - 1000px))}
html.theme-clearing :is(.m-image__img,.m-rich-text img){max-height:var(--photo-max-h);object-fit:cover}
html.theme-clearing .m-image__img{border-radius:var(--radius-s);background:var(--sage)}
html.theme-clearing .m-image__caption{font-size:13px;color:var(--muted);margin-top:8px}
/* A page's lead photograph (straight after the trail) is the page's hero:
   the full rail, its height held so a portrait photo does not fill three
   screens; the focal point (render.js) keeps the subject in the frame. */
html.theme-clearing .site-main>.m-classic-crumbs+.m-image{padding-right:var(--rail)}
html.theme-clearing .site-main>.m-classic-crumbs+.m-image .m-image__img{width:100%;height:min(62vh,600px);aspect-ratio:auto;object-fit:cover;border-radius:var(--radius)}
html.theme-clearing .site-main>.m-gallery{gap:12px}
html.theme-clearing .m-gallery__img{border-radius:var(--radius-s);background:var(--sage)}
html.theme-clearing .site-main>.m-columns{gap:28px 40px}
html.theme-clearing .m-columns__col{font-size:16px;line-height:1.6}
html.theme-clearing .m-columns__heading{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;margin:0 0 8px}
html.theme-clearing .m-columns__col a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
html.theme-clearing .m-columns__col img{border-radius:var(--radius-s)}

/* ---- buttons: the design's squared buttons, the main colour for the primary ---- */
html.theme-clearing .m-buttons{gap:12px}
html.theme-clearing .site-main>.m-buttons{padding-left:var(--rail);padding-right:var(--rail);margin-bottom:var(--section-gap)}
/* The search bar sets its own margins to nothing; a row of buttons after it
   (the 404 page's Suggested pages) keeps the section gap (Tom, 6 Nov 2026). */
html.theme-clearing .site-main>.m-clr-search+.m-buttons{margin-top:var(--section-gap)}
html.theme-clearing .m-buttons .m-buttons__btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border-radius:6px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font:500 15px/1.2 var(--sans);letter-spacing:.01em;white-space:normal;text-align:center;transition:background .2s,color .2s,border-color .2s}
html.theme-clearing .m-buttons .m-buttons__btn:hover,html.theme-clearing .m-buttons .m-buttons__btn:focus-visible{background:var(--cream);color:var(--ink);border-color:var(--ink)}
html.theme-clearing .m-buttons .m-buttons__btn--primary{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)}
html.theme-clearing .m-buttons .m-buttons__btn--primary:hover,html.theme-clearing .m-buttons .m-buttons__btn--primary:focus-visible{background:var(--cta-hover);border-color:var(--cta-hover);color:var(--cta-ink)}

/* ---- cabin grid: as near the design's card as its markup allows ---- */
html.theme-clearing .m-cabin-grid>.m-cabin-grid__head{align-items:flex-end;gap:10px 24px;margin-bottom:22px}
html.theme-clearing .m-cabin-grid__heading{font-size:clamp(32px,3.6vw,50px);line-height:1.05;font-weight:400}
html.theme-clearing .m-cabin-grid :is(.m-cabin-grid__all,.m-cabin-grid__more){display:inline-flex;align-items:center;min-height:40px;padding:6px 0;border-bottom:1px solid var(--line-strong);font-size:15px;font-weight:500;color:var(--ink);text-decoration:none}
html.theme-clearing .m-cabin-grid :is(.m-cabin-grid__all,.m-cabin-grid__more):hover{border-bottom-color:var(--ink);text-decoration:none}
html.theme-clearing .m-cabin-grid--two:has(.m-cabin-grid__heading){border-top-color:var(--line)}
html.theme-clearing :is(.m-cabin-grid--large,.m-cabin-grid--small) .m-cabin-grid__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:1000px){html.theme-clearing :is(.m-cabin-grid--large,.m-cabin-grid--small) .m-cabin-grid__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){html.theme-clearing :is(.m-cabin-grid--large,.m-cabin-grid--small) .m-cabin-grid__grid{grid-template-columns:1fr}}
html.theme-clearing .m-cabin-grid__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}
html.theme-clearing .m-cabin-grid__card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
html.theme-clearing .m-cabin-grid__photo-wrap,html.theme-clearing .m-cabin-grid--large .m-cabin-grid__photo-wrap{aspect-ratio:4/3;background:var(--sage)}
html.theme-clearing .m-cabin-grid__body{padding:16px 18px 18px}
html.theme-clearing .m-cabin-grid__card .m-cabin-grid__head{margin:0 0 8px;align-items:baseline}
html.theme-clearing .m-cabin-grid__name{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1}
html.theme-clearing .m-cabin-grid__name a:hover{text-decoration:underline;text-underline-offset:4px}
html.theme-clearing .m-cabin-grid__meta{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 12px}
html.theme-clearing .m-cabin-grid__foot{align-items:center;padding-top:12px;border-top:1px solid var(--line)}
html.theme-clearing .m-cabin-grid__price{font:500 20px/1.1 var(--sans)}
html.theme-clearing .m-cabin-grid .m-cabin-grid__btn{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:6px;border:1px solid var(--cta);background:var(--cta);color:var(--cta-ink);font:500 14px/1 var(--sans)}
html.theme-clearing .m-cabin-grid .m-cabin-grid__btn:hover,html.theme-clearing .m-cabin-grid .m-cabin-grid__btn:focus-visible{background:var(--cta-hover);border-color:var(--cta-hover);color:var(--cta-ink)}
/* The classic card's coloured bands (blue place, mustard ribbon, purple
   highlights) become the design's photo tag and a quiet strip. */
html.theme-clearing :is(.m-cabin-grid__place,.m-cabin-grid__ribbon){left:12px;right:auto;top:12px;max-width:calc(100% - 24px);border-radius:4px;padding:5px 11px;background:#f5f3efe6;color:var(--ink);font:500 12px/1.3 var(--sans);letter-spacing:0;text-transform:none;text-align:left}
html.theme-clearing .m-cabin-grid__ribbon~.m-cabin-grid__place{top:46px}
html.theme-clearing .m-cabin-grid__hl{background:#141c24b3;font:500 12px/1.2 var(--sans)}
html.theme-clearing .m-cabin-grid__nights{background:var(--sage);margin-right:0;border-radius:4px}
html.theme-clearing .m-cabin-grid__classic-photo{border-radius:var(--radius-s)}
html.theme-clearing .m-cabin-grid__classic-name{font-family:var(--serif);font-weight:400;font-size:28px}
html.theme-clearing .m-cabin-grid .m-cabin-grid__classic-book{border-radius:6px;border-color:var(--cta);background:var(--cta);color:var(--cta-ink);font-weight:500}
html.theme-clearing .m-cabin-grid .m-cabin-grid__classic-book:hover{background:var(--cta-hover)}

/* ---- questions (Tom's FAQ page and FAQ slots) as the design's .faq ---- */
html.theme-clearing .m-faq__heading{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.08;margin:0 0 14px}
html.theme-clearing .m-faq__item{max-width:900px;border-color:var(--line-strong)}
html.theme-clearing .m-faq .m-faq__q{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.25;padding:16px 40px 16px 0}
html.theme-clearing .m-faq .m-faq__q::after{content:"+";top:12px;right:2px;font-family:var(--sans);font-size:24px;font-weight:300;color:var(--ink);transition:transform .2s}
html.theme-clearing .m-faq__item[open] .m-faq__q::after{content:"+";transform:rotate(45deg)}
html.theme-clearing .m-faq__a{font-size:16px;line-height:1.6;color:var(--muted);max-width:720px}
html.theme-clearing .m-faq__a a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ---- banner: the design's moss band, light words ---- */
/* The shacks theme re-sets --season on its season classes (html.theme-shacks
   .season-*, more specific than the clearing tokens), so a banner in the
   "season" colour came out autumn-blue. The clearing season is moss. */
html.theme-clearing.theme-shacks:is(.season-summer,.season-autumn,.season-spring,.season-winter){--season:var(--moss);--season-ink:var(--paper);--season-soft:var(--sage)}
html.theme-clearing .m-banner{color:var(--paper);padding:64px var(--rail)}
html.theme-clearing .m-banner:is([style*="mint"],[style*="stone"],[style*="soft-yellow"],[style*="mustard"]){color:var(--ink)}
html.theme-clearing .m-banner::after{content:none}
html.theme-clearing .m-banner__star{fill:currentColor;opacity:.8}
html.theme-clearing .m-banner__heading{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.6vw,50px);line-height:1.05}
html.theme-clearing .m-banner__body{font-size:17px;font-weight:400;max-width:560px}
html.theme-clearing .m-banner .m-banner__cta{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:6px;border:1px solid var(--paper);background:var(--paper);color:var(--moss);font-weight:500}
html.theme-clearing .m-banner .m-banner__cta:hover{background:#fff;border-color:#fff;color:var(--moss)}

/* ---- a guest's words ---- */
html.theme-clearing .site-main>.m-testimonial{max-width:760px;margin:0 var(--rail) var(--section-gap);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px 26px}
html.theme-clearing .site-main>.m-testimonial:has(+.m-testimonial){margin-bottom:16px}
html.theme-clearing .m-testimonial::before{color:var(--cta);font-family:var(--serif);font-weight:400}
html.theme-clearing .m-testimonial__quote{font-family:var(--serif);font-size:clamp(20px,1.8vw,24px);line-height:1.3}
html.theme-clearing .m-testimonial__who{font-size:13px}
html.theme-clearing .m-testimonial__name{font-weight:500}

/* ---- the press strip: the design's .press band (cream, quiet logos) ---- */
html.theme-clearing .site-main>.m-logos{background:var(--cream);box-shadow:0 0 0 100vmax var(--cream);border-top:1px solid #c0c6cc;padding-top:22px;padding-bottom:22px}
html.theme-clearing .m-logos__heading{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:14px}
html.theme-clearing .m-logos__list img,html.theme-clearing .m-logos--scroll .m-logos__list img{height:28px;max-height:28px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1) opacity(.7)}
html.theme-clearing .m-logos--scroll .m-logos__list li{padding:0 28px}

/* ---- the journal index ---- */
html.theme-clearing .m-classic-journal__heading{font-size:clamp(30px,3.2vw,44px);line-height:1.12;max-width:26ch}
html.theme-clearing .m-classic-journal__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px;margin-top:36px}
@media (max-width:1000px){html.theme-clearing .m-classic-journal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){html.theme-clearing .m-classic-journal__grid{grid-template-columns:1fr}}
html.theme-clearing .m-classic-journal__photo{border-radius:var(--radius-s);background:var(--sage)}
html.theme-clearing .m-classic-journal__date{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:1;margin-top:14px}
html.theme-clearing .m-classic-journal__title{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;margin-top:6px}
html.theme-clearing .m-classic-journal__excerpt{font-size:14px;color:var(--muted);opacity:1}
html.theme-clearing .m-classic-journal .m-classic-journal__more{display:inline-flex;align-items:center;min-height:38px;margin-top:14px;padding:0 16px;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--ink);font:500 14px/1 var(--sans)}
html.theme-clearing .m-classic-journal .m-classic-journal__more:hover,html.theme-clearing .m-classic-journal .m-classic-journal__more:focus-visible{background:var(--cream);border-color:var(--ink);color:var(--ink)}

/* ---- intros (Collections, Availability) and the collection tiles ---- */
html.theme-clearing .m-classic-intro__title{font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1}
html.theme-clearing .m-classic-intro__sub{font-family:var(--sans);font-size:18px;font-weight:500}
html.theme-clearing .m-classic-intro__p,html.theme-clearing .m-classic-intro--lead .m-classic-intro__p{font-size:17px;font-weight:400;line-height:1.55;color:var(--muted);max-width:640px;margin-top:14px}
html.theme-clearing .m-tiles__heading{font-weight:400}
html.theme-clearing .m-tiles__tile,html.theme-clearing .m-tiles__tile img{border-radius:var(--radius-s)}
html.theme-clearing .m-tiles--caption .m-tiles__tile{border-radius:0}
html.theme-clearing .m-tiles--caption .m-tiles__title{font-size:14px;font-weight:500;color:var(--ink)}
html.theme-clearing .m-tiles__title{font-family:var(--sans);font-weight:500}

/* ---- the availability panel (/availability/, search-form style panel):
   the design's card on the rail, its fields and a clay search ---- */
html.theme-clearing .site-main>.m-search-form--panel{max-width:1000px;margin:0 var(--rail) var(--section-gap);padding:20px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow)}
html.theme-clearing .m-search-form--panel .m-search-form__label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400}
html.theme-clearing .m-search-form--panel .m-search-form__input{min-height:46px;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:#fff;color:var(--ink);font:16px var(--sans);padding:0 12px}
html.theme-clearing .m-search-form--panel .m-search-form__submit{min-height:46px;border:1px solid var(--cta);border-radius:6px;background:var(--cta);color:var(--cta-ink);font:500 15px/1 var(--sans);padding:0 24px;text-transform:capitalize}
html.theme-clearing .m-search-form--panel .m-search-form__submit:hover{background:var(--cta-hover);border-color:var(--cta-hover);color:var(--cta-ink)}
html.theme-clearing .m-classic-intro__sub{margin-top:12px}

/* ---- contact: the design's card, fields and clay Send (the form, its
   checks and its form_submit / creato_contact_form pushes are unchanged) ---- */
html.theme-clearing .m-classic-contact__heading{font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1}
html.theme-clearing .m-classic-contact__label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400}
html.theme-clearing .m-classic-contact__value{font-size:18px;font-weight:400}
html.theme-clearing .m-classic-contact__value a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-strong)}
html.theme-clearing .m-classic-contact__panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);max-width:1000px}
html.theme-clearing .m-classic-contact__message{border:1px solid var(--line-strong);border-radius:var(--radius-s);background:#fff}
html.theme-clearing .m-classic-contact__message:focus-within{outline:2px solid var(--moss);outline-offset:2px}
html.theme-clearing .m-classic-contact__dear{font-family:var(--serif);font-size:24px;font-weight:400}
html.theme-clearing .m-classic-contact__field{border:1px solid var(--line-strong);border-radius:var(--radius-s);min-height:46px;padding:10px 14px}
html.theme-clearing .m-classic-contact__field:focus-visible{outline:2px solid var(--moss)}
html.theme-clearing .m-classic-contact__consent legend{font-weight:500}
html.theme-clearing .m-classic-contact__agree{font-weight:400}
html.theme-clearing .m-classic-contact__agree input{accent-color:var(--moss)}
html.theme-clearing .m-classic-contact .m-classic-contact__send{display:inline-flex;align-items:center;min-height:46px;padding:0 24px;border-radius:6px;border:1px solid var(--cta);background:var(--cta);color:var(--cta-ink);font:500 15px/1 var(--sans)}
html.theme-clearing .m-classic-contact .m-classic-contact__send:hover,html.theme-clearing .m-classic-contact .m-classic-contact__send:focus-visible{background:var(--cta-hover);border-color:var(--cta-hover);color:var(--cta-ink)}

/* ---- phones ---- */
@media (max-width:640px){
  html.theme-clearing .site-main>:first-child:not(.is-full){margin-top:20px}
  html.theme-clearing .m-rich-text{font-size:16px}
  html.theme-clearing .site-main>:is(.m-image,.m-gallery,.m-columns){padding-right:var(--rail)}
  html.theme-clearing .site-main>.m-classic-crumbs+.m-image .m-image__img{height:min(52vh,420px)}
  html.theme-clearing .m-faq .m-faq__q{font-size:19px}
  html.theme-clearing .site-main>.m-testimonial{padding:24px 22px 20px}
  html.theme-clearing .m-classic-contact__panel{padding:18px}
}

/* ======================================================================
   2. BUILD AND LANDHOSTS (build-* and landhost-* modules), re-skinned as
      the renders re-skin the live pages (build.html, landhosts.html): the
      clearing grounds, Neuton headings, Jost text, the main button colour,
      slate where the live page used its navy. Copy, markup, forms and scripts are the
      modules' own and unchanged.
   ====================================================================== */

/* ---- The site's colours and corners (Tom, 22 Oct 2026) reach these two
   pages as everywhere else since 26 Oct 2026; their own pill buttons are
   squared below. ---- */

/* ---- text: the live page's navy palette mapped onto the clearing inks.
   Generated from the modules' own colour rules (every selector that set
   #000, the navy greys or the navy itself), so none is missed; generate
   again if a module's palette changes. ---- */
html.theme-clearing .m-build-enquiry,html.theme-clearing .m-build-enquiry .m-build-enquiry__title,html.theme-clearing .m-build-enquiry__lead,html.theme-clearing .m-build-enquiry__stat dt,html.theme-clearing .m-build-faq,html.theme-clearing .m-build-faq .m-build-faq__title,html.theme-clearing .m-build-faq__link,html.theme-clearing .m-build-faq__toggle,html.theme-clearing .m-build-feedback,html.theme-clearing .m-build-feedback .m-build-feedback__title,html.theme-clearing .m-build-form-slot,html.theme-clearing .m-build-form,html.theme-clearing .m-build-form .m-build-form__title,html.theme-clearing .m-build-form__close:hover,html.theme-clearing .m-build-form__label,html.theme-clearing .m-build-form__control,html.theme-clearing .m-build-form__config-label,html.theme-clearing .m-build-form__config-total,html.theme-clearing .m-build-form__config-row dd,html.theme-clearing .m-build-form__config-row.is-total dt,html.theme-clearing .m-build-form__config-row.is-strong dt,html.theme-clearing .m-build-form__done-title,html.theme-clearing .m-build-form__payload,html.theme-clearing .m-build-form__again,html.theme-clearing .m-build-pricing__dialog,html.theme-clearing .m-build-pricing .m-build-pricing__title,html.theme-clearing .m-build-pricing__close:hover,html.theme-clearing .m-build-pricing__level dt,html.theme-clearing .m-build-pricing__table thead th,html.theme-clearing .m-build-range-nav .m-build-range-nav__tab[aria-selected="true"],html.theme-clearing .m-build-ranges,html.theme-clearing .m-build-ranges .m-build-ranges__lede,html.theme-clearing .m-build-ranges .m-build-ranges__products-title,html.theme-clearing .m-build-ranges__text-link,html.theme-clearing .m-build-ranges .m-build-ranges__name,html.theme-clearing .m-build-ranges__shell,html.theme-clearing .m-build-ranges__turnkey,html.theme-clearing .m-build-ranges__included:hover,html.theme-clearing .m-build-ranges__outline,html.theme-clearing .m-build-ranges__more:hover,html.theme-clearing .m-build-ranges .m-build-ranges__pane-title,html.theme-clearing .m-build-ranges__x:hover,html.theme-clearing .m-build-ranges__base-price,html.theme-clearing .m-build-ranges__fp-label,html.theme-clearing .m-build-ranges__fp-input,html.theme-clearing .m-build-ranges__option-label,html.theme-clearing .m-build-ranges__option-price,html.theme-clearing .m-build-ranges__total>span:first-child,html.theme-clearing .m-build-ranges__total-price,html.theme-clearing .m-build-ranges__facts dd,html.theme-clearing .m-build-ranges__cta-noun,html.theme-clearing .m-landhost-apply .m-landhost-apply__title,html.theme-clearing .m-landhost-apply .m-landhost-apply__q,html.theme-clearing .m-landhost-apply__option[aria-pressed="true"],html.theme-clearing .m-landhost-apply__choice-label,html.theme-clearing .m-landhost-apply__inline,html.theme-clearing .m-landhost-apply__back:hover,html.theme-clearing .m-landhost-apply__skip:hover,html.theme-clearing .m-landhost-apply .m-landhost-apply__route-name,html.theme-clearing .m-landhost-apply__alt:hover,html.theme-clearing .m-landhost-apply__pill,html.theme-clearing .m-landhost-apply__change:hover,html.theme-clearing .m-landhost-apply__label,html.theme-clearing .m-landhost-apply__field,html.theme-clearing .m-landhost-apply__later:hover,html.theme-clearing .m-landhost-apply__value,html.theme-clearing .m-landhost-apply__edit:hover,html.theme-clearing .m-landhost-apply .m-landhost-apply__done-title,html.theme-clearing .m-landhost-choices .m-landhost-choices__title,html.theme-clearing .m-landhost-choices .m-landhost-choices__name,html.theme-clearing .m-landhost-choices__link,html.theme-clearing .m-landhost-faq .m-landhost-faq__title,html.theme-clearing .m-landhost-faq__link,html.theme-clearing .m-landhost-faq .m-landhost-faq__q,html.theme-clearing .m-landhost-faq__toggle,html.theme-clearing .m-landhost-intro .m-landhost-intro__title,html.theme-clearing .m-landhost-why .m-landhost-why__title,html.theme-clearing .m-landhost-why__term,html.theme-clearing .m-landhost-why__lead{color:var(--ink)}
html.theme-clearing .m-build-enquiry__muted,html.theme-clearing .m-build-enquiry__stat dd,html.theme-clearing .m-build-feedback__intro,html.theme-clearing .m-build-feedback__press-label,html.theme-clearing .m-build-feedback__press-list>li:hover,html.theme-clearing .m-build-form__sub,html.theme-clearing .m-build-form__close,html.theme-clearing .m-build-form__hint,html.theme-clearing .m-build-form__config-chevron,html.theme-clearing .m-build-form__config-row dt,html.theme-clearing .m-build-form__config-row.is-muted dt,html.theme-clearing .m-build-form__config-row.is-muted dd,html.theme-clearing .m-build-form__config-note,html.theme-clearing .m-build-form__privacy,html.theme-clearing .m-build-form__process,html.theme-clearing .m-build-form__done-text,html.theme-clearing .m-build-pricing__close,html.theme-clearing .m-build-pricing__level dd,html.theme-clearing .m-build-pricing__note,html.theme-clearing .m-build-ranges__dims,html.theme-clearing .m-build-ranges__bullet-icon,html.theme-clearing .m-build-ranges__row-label,html.theme-clearing .m-build-ranges__included,html.theme-clearing .m-build-ranges__vat,html.theme-clearing .m-build-ranges__pane-sub,html.theme-clearing .m-build-ranges__x,html.theme-clearing .m-build-ranges__fp-area,html.theme-clearing .m-build-ranges__fp-unit,html.theme-clearing .m-build-ranges__fp-times,html.theme-clearing .m-build-ranges__fp-note,html.theme-clearing .m-build-ranges__option-text,html.theme-clearing .m-build-ranges__vat-row,html.theme-clearing .m-build-ranges__config-note,html.theme-clearing .m-build-ranges__facts dt,html.theme-clearing .m-build-ranges__info-vat,html.theme-clearing .m-landhost-apply__intro,html.theme-clearing .m-landhost-apply__hint,html.theme-clearing .m-landhost-apply__choice-sub,html.theme-clearing .m-landhost-apply__aside,html.theme-clearing .m-landhost-apply__back,html.theme-clearing .m-landhost-apply__route-points svg,html.theme-clearing .m-landhost-apply__done-text,html.theme-clearing .m-landhost-choices__intro,html.theme-clearing .m-landhost-choices__note p,html.theme-clearing .m-landhost-faq__lead,html.theme-clearing .m-landhost-faq__answer,html.theme-clearing .m-landhost-why__desc,html.theme-clearing .m-landhost-why__note p{color:var(--muted)}
html.theme-clearing .m-build-faq__intro,html.theme-clearing .m-build-faq__answer,html.theme-clearing .m-build-form__pill,html.theme-clearing .m-build-form__optin span,html.theme-clearing .m-build-pricing__intro,html.theme-clearing .m-build-pricing__table tbody th,html.theme-clearing .m-build-range-nav__tab:hover,html.theme-clearing .m-build-ranges__intro-text,html.theme-clearing .m-build-ranges__tagline,html.theme-clearing .m-build-ranges__bullets>li,html.theme-clearing .m-build-ranges__more,html.theme-clearing .m-build-ranges__base>span:first-child,html.theme-clearing .m-build-ranges__incl-row,html.theme-clearing .m-build-ranges__cta-text,html.theme-clearing .m-landhost-apply__option,html.theme-clearing .m-landhost-apply__route-text,html.theme-clearing .m-landhost-apply__route-points li,html.theme-clearing .m-landhost-apply__alt,html.theme-clearing .m-landhost-apply__later,html.theme-clearing .m-landhost-apply__check span,html.theme-clearing .m-landhost-apply__sent-label,html.theme-clearing .m-landhost-choices__text,html.theme-clearing .m-landhost-intro__body p,html.theme-clearing .m-landhost-why__intro{color:var(--muted)}
html.theme-clearing .m-build-faq__toggle:hover,html.theme-clearing .m-build-faq__sign,html.theme-clearing .m-build-hero__button--glass,html.theme-clearing .m-build-hero__button--glass:hover,html.theme-clearing .m-build-pricing__tick,html.theme-clearing .m-build-ranges__text-link:hover,html.theme-clearing .m-build-ranges__arrow,html.theme-clearing .m-landhost-apply__inline:hover,html.theme-clearing .m-landhost-choices__link:hover,html.theme-clearing .m-landhost-faq__toggle:hover,html.theme-clearing .m-landhost-faq__icon,html.theme-clearing .m-landhost-hero__cta--glass{color:var(--moss)}

/* ---- grounds ---- */
html.theme-clearing :is(.m-build-enquiry,.m-build-ranges,.m-build-form-slot,.m-landhost-intro,.m-landhost-why){background:var(--paper)}
html.theme-clearing :is(.m-build-faq,.m-build-feedback,.m-landhost-apply){background:var(--cream)}
html.theme-clearing :is(.m-landhost-choices,.m-landhost-faq){background:var(--sage)}
html.theme-clearing .m-build-craft{background:var(--moss)}
html.theme-clearing :is(.m-build-hero__frame,.m-landhost-hero__frame,.m-landhost-closing,.m-landhost-suitability){background:var(--moss-deep)}
html.theme-clearing :is(.m-build-ranges__tile,.m-build-ranges__carousel){background:var(--sage)}
/* cards and panels: the design's card, its line and radius */
html.theme-clearing :is(.m-build-ranges__product,.m-landhost-choices__choice){background:var(--card);border-radius:var(--radius);box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(32,36,43,.04),0 12px 32px -16px rgba(32,36,43,.18)}
html.theme-clearing :is(.m-build-form__form,.m-build-pricing__level,.m-build-pricing__table-wrap,.m-landhost-apply__panel,.m-landhost-apply__review,.m-landhost-apply__route,.m-landhost-apply__alt,.m-landhost-apply__later){background:var(--card)}
html.theme-clearing .m-landhost-apply__panel{border-radius:var(--radius)}
html.theme-clearing .m-build-pricing__panel{background:var(--paper)}
html.theme-clearing .m-build-pricing__head{background:#f5f3eff2}
html.theme-clearing .m-build-pricing__table thead tr{background:var(--cream)}
html.theme-clearing .m-build-pricing__tick{background:var(--sage);color:var(--moss)}
html.theme-clearing .m-build-form__config{background:var(--cream)}
html.theme-clearing .m-build-form__done{background:var(--sage)}
html.theme-clearing .m-build-ranges__option.is-on,html.theme-clearing :is(.m-landhost-apply__choice,.m-landhost-apply__option)[aria-pressed="true"]{background:var(--sel-soft);border-color:var(--moss)}
html.theme-clearing .m-landhost-apply__pill{background:var(--sage)}
html.theme-clearing .m-landhost-apply__route{border-color:var(--moss)}
/* the navy accents become moss */
html.theme-clearing :is(.m-build-faq__item.is-open .m-build-faq__sign,.m-build-form__pill.is-on,.m-build-form__done-mark,.m-landhost-apply__fill,.m-landhost-apply__tick,.m-landhost-faq__toggle[aria-expanded="true"] .m-landhost-faq__icon){background:var(--moss);border-color:var(--moss)}

/* ---- the range switcher, stuck under the clearing header ---- */
html.theme-clearing .m-build-range-nav{top:var(--header-h);background:#f5f3eff2;border-bottom-color:var(--line)}
html.theme-clearing .m-build-range-nav__tab{background:var(--cream);color:var(--muted);border-right-color:var(--line)}
html.theme-clearing .m-build-range-nav__tab:hover{background:var(--sage);color:var(--ink)}
html.theme-clearing .m-build-range-nav .m-build-range-nav__tab[aria-selected="true"]{background:var(--paper);color:var(--ink)}
html.theme-clearing .m-build-range-nav__tab[aria-selected="true"] .m-build-range-nav__mark{background:var(--moss)}

/* ---- headings: Neuton, one weight ---- */
html.theme-clearing :is(.m-build-hero .m-build-hero__title,.m-build-enquiry .m-build-enquiry__title,.m-build-ranges .m-build-ranges__lede,.m-build-ranges .m-build-ranges__products-title,.m-build-ranges .m-build-ranges__name,.m-build-ranges .m-build-ranges__pane-title,.m-build-feedback .m-build-feedback__title,.m-build-craft .m-build-craft__title,.m-build-faq .m-build-faq__title,.m-build-pricing .m-build-pricing__title,.m-build-form .m-build-form__title,.m-build-form__done-title,.m-landhost-hero .m-landhost-hero__title,.m-landhost-intro .m-landhost-intro__title,.m-landhost-choices .m-landhost-choices__title,.m-landhost-choices .m-landhost-choices__name,.m-landhost-apply .m-landhost-apply__title,.m-landhost-apply .m-landhost-apply__q,.m-landhost-apply .m-landhost-apply__route-name,.m-landhost-apply .m-landhost-apply__done-title,.m-landhost-suitability .m-landhost-suitability__title,.m-landhost-suitability .m-landhost-suitability__name,.m-landhost-why .m-landhost-why__title,.m-landhost-faq .m-landhost-faq__title,.m-landhost-closing .m-landhost-closing__title){font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
html.theme-clearing :is(.m-build-faq .m-build-faq__q,.m-landhost-faq .m-landhost-faq__q,.m-build-faq__toggle,.m-landhost-faq__toggle){font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.25;letter-spacing:-.01em}
@media (max-width:640px){html.theme-clearing :is(.m-build-faq .m-build-faq__q,.m-landhost-faq .m-landhost-faq__q,.m-build-faq__toggle,.m-landhost-faq__toggle){font-size:19px}}
html.theme-clearing .m-build-ranges .m-build-ranges__name{font-size:28px;line-height:1.1}

/* ---- buttons: clay for the one action, glass on photographs, a line for the rest ---- */
html.theme-clearing :is(.m-build-hero__button--primary,.m-build-form__submit,.m-build-ranges__primary,.m-landhost-hero__cta:not(.m-landhost-hero__cta--glass),.m-landhost-choices__cta,.m-landhost-apply__next,.m-landhost-apply__add,.m-landhost-apply__send,.m-landhost-closing__cta){background:var(--cta);color:var(--cta-ink);border-color:var(--cta);font-family:var(--sans);font-weight:500;text-transform:capitalize}
html.theme-clearing :is(.m-build-hero__button--primary,.m-build-form__submit,.m-build-ranges__primary,.m-landhost-hero__cta:not(.m-landhost-hero__cta--glass),.m-landhost-choices__cta,.m-landhost-apply__next,.m-landhost-apply__add,.m-landhost-apply__send,.m-landhost-closing__cta):hover{background:var(--cta-hover);color:var(--cta-ink)}
html.theme-clearing :is(.m-build-hero .m-build-hero__button--glass,.m-landhost-hero .m-landhost-hero__cta--glass){background:rgba(245,243,239,.12);color:var(--paper);box-shadow:inset 0 0 0 1px var(--paper);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html.theme-clearing :is(.m-build-hero .m-build-hero__button--glass,.m-landhost-hero .m-landhost-hero__cta--glass):hover{background:rgba(245,243,239,.24);color:#fff}
html.theme-clearing .m-build-ranges__outline{border-color:var(--line-strong);color:var(--ink);font-family:var(--sans)}
html.theme-clearing .m-build-ranges__outline:hover{border-color:var(--ink);background:var(--cream)}
html.theme-clearing :is(.m-build-hero__button,.m-build-form__submit,.m-build-ranges__primary,.m-build-ranges__outline):focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--moss)}
/* Softly squared like the site's buttons (Tom, 22 Oct 2026): the pages' own
   pills (build-hero, build-form, build-ranges, the landhost kit pill) at the
   modules' own weight plus one, so their :focus-visible pills do not win. */
html.theme-clearing .site-main :is(.m-build-hero__button,.m-build-form__submit,.m-build-form__pill,.m-build-ranges__primary,.m-build-ranges__outline,.m-landhost-hero__cta,.m-landhost-choices__cta,.m-landhost-closing__cta,.m-landhost-apply__next,.m-landhost-apply__add,.m-landhost-apply__send,.m-landhost-apply__back,.m-landhost-apply__skip,.m-landhost-apply__pill){border-radius:6px}
html.theme-clearing .site-main :is(.m-build-form .m-build-form__submit,.m-build-ranges .m-build-ranges__outline,.m-build-ranges .m-build-ranges__primary):focus-visible{border-radius:6px}

/* ---- the little things: ticks, icons, fields ---- */
html.theme-clearing .m-build-ranges__accent:not([class*="__accent--"]){background:var(--moss)}
html.theme-clearing :is(.m-build-ranges__bullet-icon,.m-landhost-apply__route-points svg){color:var(--moss)}
html.theme-clearing :is(.m-build-form__control,.m-landhost-apply__field,.m-build-ranges__fp-input){border-color:var(--line-strong);border-radius:var(--radius-s)}
html.theme-clearing :is(.m-build-form__control,.m-landhost-apply__field,.m-build-ranges__fp-input):focus{border-color:var(--moss);box-shadow:0 0 0 1px var(--moss);outline:0}
html.theme-clearing :is(.m-build-form__optin,.m-landhost-apply__check) input{accent-color:var(--moss)}

/* ---- Build FAQs: the heading sits in the middle of the questions (Tom,
   16 Oct 2026). Build's own CSS pinned it 7rem from the top, which in the
   clearing design is under the header and the ranges strip, so it slid
   behind them. On a desktop it is now centred beside the list and scrolls
   with it; below 1024px the heading is above the questions, as before. ---- */
@media (min-width:1024px){
  html.theme-clearing .m-build-faq__grid{align-items:center}
  html.theme-clearing .m-build-faq__aside{position:static;top:auto;align-self:center}
}

.preview-chip{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--font,Arial,sans-serif);letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:999px;vertical-align:middle;white-space:nowrap}
.preview-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.preview-chip--live{background:#e3f1e6;color:#1f6b35}
.preview-chip--offline{background:#f4ece0;color:#8a5a14}
