:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
.stay-hero {
  background: var(--primary-ultra-light); padding-block: var(--section-space-l-to-m); padding-inline: var(--gutter); display: flex; flex-direction: column; gap: var(--space-l);
}
.stay-hero__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-s);
}
.stay-hero__eyebrow {
  font-size: var(--text-s); color: var(--primary-dark); text-transform: uppercase; letter-spacing: 0.08em; margin: 0;
}
.stay-hero__title {
  font-size: var(--h1); margin: 0; color: var(--primary-ultra-dark);
}
.stay-hero__summary {
  font-size: var(--text-l); max-width: var(--text-l-max-width); margin: 0;
}
.stay-hero__badges {
  list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs);
}
.stay-badge {
  font-size: var(--text-s); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--white); border: var(--border-size, 1px) solid var(--primary-light);
}
.stay-badge--accent {
  background: var(--primary); color: var(--white); border-color: var(--primary);
}
.stay-hero__actions {
  display: flex; flex-wrap: wrap; gap: var(--space-s); margin-top: var(--space-s);
}
.stay-body {
  padding-block: var(--section-space-l-to-m); padding-inline: var(--gutter);
}
.stay-body__inner {
  max-width: var(--content-width); margin-inline: auto; display: grid; grid-template-columns: 1fr; gap: var(--space-xl); @media (min-width: 992px) { & { grid-template-columns: var(--grid-2-1); } }
}
.stay-body__main {
  display: flex; flex-direction: column; gap: var(--space-s);
}
.stay-body__heading {
  font-size: var(--h3); margin: var(--space-m) 0 0; &:first-child { margin-top: 0; }
}
.stay-body__text {
  white-space: pre-line; margin: 0; max-width: var(--text-m-max-width);
}
.stay-facts__list {
  margin: 0; display: flex; flex-direction: column;
}
.stay-facts__row {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-s); padding-block: var(--space-xs); border-bottom: var(--border-size, 1px) solid var(--border-color-dark);
}
.stay-facts__label {
  font-size: var(--text-s); color: var(--text-dark-muted);
}
.stay-facts__value {
  font-size: var(--text-s); margin: 0; font-weight: 600;
}
.stay-facts__value--multiline {
  white-space: pre-line;
}
.stay-body__text--muted {
  color: var(--text-dark-muted);
}
.stay-facts {
  align-self: start; background: var(--base-ultra-light); border-radius: var(--radius-m); padding: var(--space-l); display: flex; flex-direction: column; gap: var(--space-s); @media (min-width: 992px) { & { position: sticky; top: var(--space-l); } }
}
.stay-facts__heading {
  font-size: var(--h4); margin: 0;
}
.stay-facts__subheading {
  font-size: var(--h5); margin: var(--space-s) 0 0;
}
.stay-facts__text {
  font-size: var(--text-s); margin: 0;
}
.stay-facts__contact {
  list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-xs); font-size: var(--text-s);
}
.stay-facts__link {
  color: var(--primary-dark); word-break: break-word;
}
.search-hero {
  background: var(--primary-ultra-light); padding-block: var(--section-space-l-to-m); padding-inline: var(--gutter);
}
.search-hero__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-s);
}
.search-hero__title {
  font-size: var(--h1); margin: 0; color: var(--primary-ultra-dark);
}
.search-hero__intro {
  font-size: var(--text-l); max-width: var(--text-l-max-width); margin: 0;
}
.search {
  padding-block: var(--section-space-m); padding-inline: var(--gutter);
}
.search__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-m);
}
.search-filters {
  display: grid; grid-template-columns: 1fr; gap: var(--space-s); align-items: end; padding: var(--space-m); background: var(--base-ultra-light); border-radius: var(--radius-m); @media (min-width: 768px) { & { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 1200px) { & { grid-template-columns: repeat(4, 1fr) auto; } }
}
.search-filters__field {
  display: flex; flex-direction: column; gap: var(--space-xs);
}
.search-filters__label {
  font-size: var(--text-s); font-weight: 600;
}
.search-filters__select {
  font: inherit; font-size: var(--text-s); padding: var(--space-xs) var(--space-s); border: var(--border-size, 1px) solid var(--border-color-dark); border-radius: var(--radius); background: var(--white); color: var(--text-color); &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); }
}
.search__count {
  margin: 0; font-size: var(--text-s); color: var(--text-dark-muted);
}
.search__results {
  list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: var(--grid-auto-3); gap: var(--grid-gap, var(--space-m)); @media (max-width: 767px) { & { grid-template-columns: 1fr; } }
}
.stay-card {
  display: flex; &[hidden] { display: none; }
}
.stay-card__link {
  display: flex; flex-direction: column; gap: var(--space-xs); width: 100%; padding: var(--space-m); overflow: hidden; border: var(--border-size, 1px) solid var(--border-color-dark); border-radius: var(--radius-m); background: var(--white); color: inherit; text-decoration: none; transition: var(--transition); &:hover { border-color: var(--primary); box-shadow: 0 0 0 var(--border-size, 1px) var(--primary); } &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); }
}
.stay-card__meta {
  margin: 0; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--primary-dark);
}
.stay-card__title {
  margin: 0; font-size: var(--h4); color: var(--primary-ultra-dark);
}
.stay-card__summary {
  margin: 0; font-size: var(--text-s); flex-grow: 1;
}
.stay-card__footer {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-xs); margin-top: var(--space-s);
}
.stay-card__badge {
  font-size: var(--text-xs); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--primary); color: var(--white);
}
.stay-card__price {
  font-size: var(--text-s); font-weight: 600;
}
.search__empty {
  margin: 0; padding: var(--space-l); text-align: center; background: var(--base-ultra-light); border-radius: var(--radius-m);
}
.stay-hero__media {
  margin: 0; width: 100%; max-width: var(--content-width); margin-inline: auto; border-radius: var(--radius-m); overflow: hidden; aspect-ratio: 16 / 7; @media (max-width: 767px) { & { aspect-ratio: 4 / 3; } }
}
.stay-hero__image {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.stay-gallery {
  list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-s); @media (min-width: 768px) { & { grid-template-columns: repeat(3, 1fr); } }
}
.stay-gallery__item {
  margin: 0; border-radius: var(--radius); overflow: hidden; aspect-ratio: 4 / 3;
}
.stay-gallery__image {
  display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease-smooth, ease), filter 0.5s var(--ease-smooth, ease); .stay-gallery__link:hover &, .stay-gallery__link:focus-visible & { transform: scale(1.08); filter: brightness(1.05); } @media (prefers-reduced-motion: reduce) { & { transition: none; } }
}
.stay-card__media {
  margin: calc(var(--space-m) * -1) calc(var(--space-m) * -1) var(--space-xs); aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-m) var(--radius-m) 0 0;
}
.stay-card__image {
  display: block; width: 100%; height: 100%; object-fit: cover; transition: var(--transition); .stay-card__link:hover & { transform: scale(1.03); }
}
.stay-hero__logo {
  margin: 0 0 var(--space-xs); display: inline-flex; align-items: center; padding: var(--space-xs) var(--space-s); background: var(--white); border-radius: var(--radius-m); align-self: flex-start;
}
.stay-hero__logo-image {
  display: block; width: auto; height: auto; max-height: var(--space-xxl); max-width: min(15rem, 60vw); object-fit: contain;
}
.stay-facts__contact-item--socials {
  margin-top: var(--space-xs);
}
.stay-socials {
  list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs);
}
.stay-socials__link {
  display: inline-block; font-size: var(--text-xs); padding: var(--space-xs) var(--space-s); border-radius: var(--radius); border: var(--border-size, 1px) solid var(--primary-light); color: var(--primary-dark); text-decoration: none; transition: var(--transition); &:hover { background: var(--primary); border-color: var(--primary); color: var(--white); } &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); }
}
.stay-host {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); margin-block: var(--space-m); padding: var(--space-m); background: var(--primary-ultra-light); border-radius: var(--radius-m); @media (min-width: 600px) { & { flex-direction: row; align-items: center; } }
}
.stay-host__media {
  margin: 0; flex-shrink: 0; width: 8rem; aspect-ratio: 1; border-radius: var(--radius-circle, 50%); overflow: hidden; border: var(--space-xs) solid var(--white);
}
.stay-host__photo {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.stay-host__body {
  display: flex; flex-direction: column; gap: var(--space-xs);
}
.stay-host__eyebrow {
  margin: 0; font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-dark);
}
.stay-host__names {
  margin: 0; font-size: var(--h4); font-weight: 600; color: var(--primary-ultra-dark);
}
.stay-host__intro {
  margin: 0; font-size: var(--text-s); max-width: var(--text-m-max-width);
}
.stay-gallery__link {
  display: block; width: 100%; height: 100%; cursor: zoom-in; &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: calc(var(--focus-width, 2px) * -1); }
}
.site-header {
  position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: var(--border-size, 1px) solid var(--border-color-dark); padding-inline: var(--gutter);
}
.site-header__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--space-m); padding-block: var(--space-xs);
}
.site-header__brand {
  display: inline-flex; align-items: center; flex-shrink: 0; &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); border-radius: var(--radius); }
}
.site-header__logo {
  display: block; width: auto; height: var(--space-l); max-width: 45vw; @media (min-width: 768px) { & { height: var(--space-xl); } }
}
.site-header__nav {
  display: flex;
}
.site-header__menu {
  list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: var(--space-m);
}
.site-header__menu-item {
  margin: 0;
}
.site-header__link {
  font-family: var(--heading-font-family); font-weight: 500; font-size: var(--text-m); color: var(--text-dark); text-decoration: none; padding-block: var(--space-xs); border-bottom: 2px solid transparent; transition: var(--transition); &:hover { color: var(--primary); border-bottom-color: var(--primary); } &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); }
}
.site-footer {
  background: var(--text-dark); color: var(--white); padding-block: var(--section-space-m); padding-inline: var(--gutter);
}
.site-footer__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-l); @media (min-width: 768px) { & { flex-direction: row; align-items: center; justify-content: space-between; } }
}
.site-footer__brand {
  display: inline-flex; flex-shrink: 0; &:focus-visible { outline: var(--focus-width, 2px) solid var(--white); outline-offset: var(--focus-offset, 2px); }
}
.site-footer__logo {
  display: block; width: auto; height: var(--space-xxl);
}
.site-footer__menu {
  list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-s) var(--space-l);
}
.site-footer__link {
  color: var(--white); text-decoration: none; font-weight: 600; border-bottom: 1px solid transparent; transition: var(--transition); &:hover { border-bottom-color: var(--white); } &:focus-visible { outline: var(--focus-width, 2px) solid var(--white); outline-offset: var(--focus-offset, 2px); }
}
.site-footer__copy {
  margin: 0; font-size: var(--text-s); color: var(--white); opacity: 0.8;
}
.home-hero {
  background: var(--primary-ultra-light); padding-block: var(--section-space-xl-to-m); padding-inline: var(--gutter);
}
.home-hero__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-m);
}
.home-hero__eyebrow {
  margin: 0; font-size: var(--text-s); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--secondary);
}
.home-hero__title {
  margin: 0; font-size: var(--h1); color: var(--text-dark); max-width: 18ch;
}
.home-hero__lead {
  margin: 0; font-size: var(--text-l); max-width: var(--text-l-max-width);
}
.home-search {
  display: grid; grid-template-columns: 1fr; gap: var(--space-s); align-items: end; margin-top: var(--space-s); padding: var(--space-m); background: var(--white); border-radius: var(--radius-m); box-shadow: 0 var(--space-xs) var(--space-l) color-mix(in srgb, var(--text-dark) 10%, transparent); @media (min-width: 768px) { & { grid-template-columns: repeat(3, 1fr) auto; } }
}
.home-search__field {
  display: flex; flex-direction: column; gap: var(--space-xs);
}
.home-search__label {
  font-size: var(--text-s); font-weight: 600;
}
.home-search__select {
  font: inherit; font-size: var(--text-s); padding: var(--space-xs) var(--space-s); border: var(--border-size, 1px) solid var(--border-color-dark); border-radius: var(--radius); background: var(--white); color: var(--text-color); &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); }
}
.home-search__submit {
  cursor: pointer;
}
.home-section {
  padding-block: var(--section-space-l-to-m); padding-inline: var(--gutter);
}
.home-section--soft {
  background: var(--base-ultra-light);
}
.home-section__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-l);
}
.home-section__header {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-s);
}
.home-section__title {
  margin: 0; font-size: var(--h2);
}
.home-section__more {
  font-weight: 600; color: var(--primary-dark); text-decoration: none; &:hover { text-decoration: underline; }
}
.home-browse__grid {
  display: grid; grid-template-columns: 1fr; gap: var(--space-xl); @media (min-width: 992px) { & { grid-template-columns: 1fr 1fr; } }
}
.home-browse__group {
  display: flex; flex-direction: column; gap: var(--space-s);
}
.home-browse__subtitle {
  margin: var(--space-xs) 0 0; font-size: var(--text-s); font-weight: 700; color: var(--text-dark-muted);
}
.home-chips {
  list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs);
}
.home-chip {
  display: inline-block; padding: var(--space-xs) var(--space-s); border-radius: var(--radius); background: var(--white); border: var(--border-size, 1px) solid var(--border-color-dark); color: var(--text-dark); text-decoration: none; font-size: var(--text-s); font-weight: 600; transition: var(--transition); &:hover { border-color: var(--primary); color: var(--primary-dark); } &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); }
}
.home-why__list {
  list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--space-l); @media (min-width: 768px) { & { grid-template-columns: repeat(3, 1fr); } }
}
.home-why__item {
  display: flex; flex-direction: column; gap: var(--space-xs); padding-top: var(--space-s); border-top: 3px solid var(--primary);
}
.home-why__title {
  margin: 0; font-size: var(--h4);
}
.home-why__text {
  margin: 0;
}
.home-cta {
  background: var(--secondary); color: var(--white); padding-block: var(--section-space-l-to-m); padding-inline: var(--gutter);
}
.home-cta__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s);
}
.home-cta__title {
  margin: 0; font-size: var(--h2); color: var(--white);
}
.home-cta__text {
  margin: 0; max-width: var(--text-m-max-width); color: var(--white);
}
.signup-hero {
  background: var(--primary-ultra-light); padding-block: var(--section-space-l-to-m); padding-inline: var(--gutter);
}
.signup-hero__inner {
  max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; gap: var(--space-s);
}
.signup-hero__title {
  margin: 0; font-size: var(--h1);
}
.signup-hero__lead {
  margin: 0; font-size: var(--text-l); max-width: var(--text-l-max-width);
}
.signup {
  padding-block: var(--section-space-l-to-m); padding-inline: var(--gutter);
}
.signup__inner {
  max-width: 48rem; margin-inline: auto;
}
.signup-form {
  display: flex; flex-direction: column; gap: var(--space-l);
}
.signup-form__group {
  margin: 0; padding: var(--space-m); border: var(--border-size, 1px) solid var(--border-color-dark); border-radius: var(--radius-m); display: grid; grid-template-columns: 1fr; gap: var(--space-s); @media (min-width: 640px) { & { grid-template-columns: 1fr 1fr; } }
}
.signup-form__legend {
  padding-inline: var(--space-xs); font-family: var(--heading-font-family); font-weight: 700; font-size: var(--h5);
}
.signup-form__field {
  display: flex; flex-direction: column; gap: var(--space-xs); margin: 0;
}
.signup-form__field--full {
  @media (min-width: 640px) { & { grid-column: 1 / -1; } }
}
.signup-form__label {
  font-size: var(--text-s); font-weight: 600;
}
.signup-form__required {
  color: var(--primary-dark); font-weight: 700;
}
.signup-form__hint {
  font-size: var(--text-xs); color: var(--text-dark-muted);
}
.signup-form__input {
  font: inherit; font-size: var(--text-s); width: 100%; padding: var(--space-xs) var(--space-s); border: var(--border-size, 1px) solid var(--base-semi-light, #A99A90); border-radius: var(--radius); background: var(--white); color: var(--text-color); &:focus-visible { outline: var(--focus-width, 2px) solid var(--focus-color, var(--primary)); outline-offset: var(--focus-offset, 2px); } &[aria-invalid=true] { border-color: var(--danger, #B42318); }
}
.signup-form__textarea {
  min-height: 8rem; resize: vertical;
}
.signup-form__choices {
  display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-m); margin: 0; padding: 0; border: 0;
}
.signup-form__choice {
  display: inline-flex; align-items: center; gap: var(--space-xs); font-size: var(--text-s); cursor: pointer;
}
.signup-form__check {
  display: flex; align-items: flex-start; gap: var(--space-xs); font-size: var(--text-s); cursor: pointer;
}
.signup-form__control {
  accent-color: var(--primary); width: 1.1em; height: 1.1em; margin-top: 0.2em; flex-shrink: 0;
}
.signup-form__error {
  font-size: var(--text-xs); font-weight: 600; color: var(--danger, #B42318); &:empty { display: none; }
}
.signup-form__actions {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s);
}
.signup-form__submit {
  cursor: pointer; &[disabled] { opacity: 0.6; cursor: progress; }
}
.signup-form__status {
  margin: 0; padding: var(--space-s) var(--space-m); border-radius: var(--radius); font-weight: 600; &:empty { display: none; } &.signup-form__status--error { background: color-mix(in srgb, var(--danger, #B42318) 10%, var(--white)); color: var(--danger, #B42318); }
}
.signup-thanks {
  padding: var(--space-l); border-radius: var(--radius-m); background: var(--secondary); color: var(--white); display: flex; flex-direction: column; gap: var(--space-s); &[hidden] { display: none; }
}
.signup-thanks__title {
  margin: 0; font-size: var(--h3); color: var(--white);
}
.signup-thanks__text {
  margin: 0; color: var(--white);
}