/* The Cliff Hotel & Spa. BUILT FILE, DO NOT EDIT.
   Source: resources/css/style.css and the files it imports.
   Rebuild: python3 tools/build_css.py */
:root {

  --c-sand:            #d5b095;
  --c-sand-hover:      #b87a4c;
  --c-sand-button-hover:#bf875e;
  --c-sand-checked:    #c79570;
  --c-navy:            #3b4d6d;
  --c-navy-hover:      #29364c;
  --c-teal:            #015f64;

  --c-text:            #444444;
  --c-text-strong:     #434343;
  --c-text-muted:      #555e5f;
  --c-text-dim:        #808080;
  --c-text-invert:     #ffffff;

  --c-bg:              #ffffff;
  --c-bg-muted:        #f8f8f8;
  --c-bg-hover:        #efefef;
  --c-frame:           #f3f0ec;
  --c-line:            #e5e5e5;
  --c-bg-subtle:       #f8f8f8;
  --c-line-list:       #e2e2e2;
  --c-line-strong:     #bbbbbb;
  --c-line-control:    #cccccc;
  --c-black:           #000000;
  --c-line-light:      #efefef;
  --c-divider-sand:    rgba(213,176,149,.3);
  --c-divider-grey:    rgba(182,182,182,.53);

  --c-danger:          #f0506e;
  --c-success:         #32d296;

  --c-overlay-dark:    rgba(0,0,0,.70);
  --c-overlay-navy:    rgba(59,77,109,.82);
  --c-white-90:        rgba(255,255,255,.90);
  --c-white-84:        rgba(255,255,255,.84);
  --c-white-70:        rgba(255,255,255,.70);
  --c-white-60:        rgba(255,255,255,.60);
  --c-white-50:        rgba(255,255,255,.50);
  --c-white-35:        rgba(255,255,255,.35);
  --c-white-15:        rgba(255,255,255,.15);
  --c-white-10:        rgba(255,255,255,.10);

  --font-body:    "Jost", sans-serif;
  --font-heading: "Tsukimi Rounded", sans-serif;
  --font-eyebrow: "Archivo", sans-serif;
  --font-mono:    Consolas, monaco, monospace;

  --text-xs:      0.75rem;
  --text-sm:      0.875rem;
  --text-base:    15px;
  --text-md:      1rem;
  --text-nav:     1.1rem;
  --text-lg:      1.5rem;
  --text-xl:      2rem;
  --text-2xl:     2.2rem;
  --text-3xl:     2.8rem;

  --lh-tight:     1.2;
  --lh-heading:   1.3;
  --lh-snug:      1.4;
  --lh-normal:    1.5;
  --lh-relaxed:   1.8;
  --lh-body:      2;

  --ls-none:      normal;
  --ls-button:    1px;
  --ls-eyebrow:   .1em;

  --space-3xs:  5px;
  --space-2xs: 10px;
  --space-xs:  15px;
  --space-sm:  20px;
  --space-md:  30px;
  --space-lg:  40px;
  --space-xl:  70px;
  --space-2xl:140px;
  --space-3xl:210px;

  --container-max:        1200px;
  --container-max-xsmall:  900px;
  --container-max-small:  1100px;
  --container-max-large:  1400px;
  --container-max-xlarge: 1600px;
  --container-gutter:       15px;
  --frame-width:            20px;
  --grid-gutter:            30px;

  --bp-s:   640px;
  --bp-m:   960px;
  --bp-l:  1200px;
  --bp-xl: 1600px;

  --radius-none:   0;
  --radius-sm:     3px;
  --radius-md:     4px;
  --radius-lg:     5px;
  --radius-pill:   500px;
  --radius-circle: 50%;
  --radius-booking-button: 30px;

  --shadow-sm:       0 2px 8px rgba(0,0,0,.08);
  --shadow-md:       0 5px 15px rgba(0,0,0,.08);
  --shadow-dropdown: 0 5px 12px rgba(0,0,0,.15);
  --shadow-lg:       0 14px 25px rgba(0,0,0,.16);
  --shadow-xl:       0 28px 50px rgba(0,0,0,.16);

  --dur-fast:    100ms;
  --dur-base:    200ms;
  --dur-slow:    300ms;
  --dur-slower:  500ms;
  --dur-reveal:     1s;
  --ease:            ease-in-out;
  --ease-out:        ease-out;
  --ease-out-quint:  cubic-bezier(.22,1,.36,1);
  --ease-soft:       cubic-bezier(.23,1,.32,1);

  --z-below:        -1;
  --z-base:          1;
  --z-raised:        2;
  --z-frame:       980;
  --z-banner:      981;
  --z-header:      982;
  --z-navbar-center:990;
  --z-offcanvas:  1000;
  --z-modal:      1010;
  --z-drop:       1020;
  --z-tooltip:    1030;
  --z-notification:1040;
  --z-drag:       1050;

  --anchor-scroll-offset: 190px;
  --focus-ring: 2px dotted var(--c-text-strong);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body { margin: 0; }

p, ul, ol, dl, pre, address, fieldset, figure, blockquote, hr {
  margin: 0 0 var(--space-sm);
}
* + p, * + ul, * + ol, * + dl, * + pre, * + address, * + fieldset,
* + figure, * + blockquote, * + hr {
  margin-top: var(--space-sm);
}

h1, h2, h3, h4, h5, h6 { margin: 0 0 var(--space-sm); }
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 { margin-top: var(--space-lg); }

b, strong { font-weight: bolder; }
small     { font-size: 80%; }
sub, sup  { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -.5em; }
sub { bottom: -.25em; }
q   { font-style: normal; }
abbr[title] { text-decoration: underline dotted; }
address { font-style: normal; }
dt { font-weight: 700; }
dd { margin-left: 0; }

audio, canvas, iframe, img, svg, video { vertical-align: middle; }
canvas, img, svg, video { max-width: 100%; height: auto; }
img:not([src]) { visibility: hidden; min-width: 1px; }
iframe { border: 0; }

details, main { display: block; }
summary { display: list-item; }
template { display: none; }

button, input, optgroup, select, textarea { font: inherit; margin: 0; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner { border: 0; padding: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

html {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: var(--lh-body);
  background: var(--c-bg);
  color: var(--c-text);
  scroll-padding-top: var(--anchor-scroll-offset);
}

body {
  font-size: var(--text-base);
  background-attachment: fixed;
  background-size: cover;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--c-navy);
  text-transform: none;
}
h1 { font-size: var(--text-3xl); line-height: var(--lh-tight); }
h2 { font-size: var(--text-xl);  line-height: var(--lh-heading); }
h3 { font-size: var(--text-lg);  line-height: var(--lh-snug); }
h4 {
  font-family: var(--font-eyebrow);
  font-size: var(--text-md);
  line-height: var(--lh-snug);
  color: var(--c-text-muted);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
}
h5 { font-size: var(--text-md); line-height: var(--lh-snug); }
h6 { font-size: var(--text-sm); line-height: var(--lh-snug); }

h1 + h2 { margin-top: -1rem; }

a {
  color: var(--c-sand);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease);
}
a:hover { color: var(--c-sand-hover); text-decoration: underline; }

ul, ol { padding-left: var(--space-md); }
ul > li > ul, ul > li > ol,
ol > li > ol, ol > li > ul { margin: 0; }

hr {
  overflow: visible;
  text-align: inherit;
  border: 0;
  border-top: 1px solid var(--c-line);
}
blockquote {
  font-size: var(--text-md);
  line-height: var(--lh-relaxed);
  font-style: normal;
  color: var(--c-text-strong);
}
blockquote p:last-of-type { margin-bottom: 0; }
blockquote footer { margin-top: var(--space-2xs); font-size: var(--text-sm); line-height: var(--lh-normal); color: var(--c-text); }
blockquote footer::before { content: "\2014\00a0"; }

pre {
  font: var(--text-sm) / var(--lh-normal) var(--font-mono);
  color: var(--c-text);
  tab-size: 4;
  overflow: auto;
  padding: var(--space-2xs);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm);
  background: var(--c-bg);
}
:not(pre) > code, :not(pre) > kbd, :not(pre) > samp {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  white-space: nowrap;
  padding: 2px 6px;
  background: var(--c-bg-muted);
}

img, svg, video, canvas { display: inline-block; }
figure { margin-left: 0; margin-right: 0; }

:focus { outline: none; }
:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.on-dark :focus-visible { outline-color: var(--c-text-invert); }

::selection { background: #39f; color: #fff; text-shadow: none; }

.skip {
  position: absolute;
  left: -999px;
  top: 0;
  z-index: var(--z-drag);
  background: var(--c-navy);
  color: var(--c-text-invert);
  font-size: var(--text-sm);
  text-decoration: none;
  padding: var(--space-2xs) var(--space-xs);
}
.skip:focus { left: var(--space-xs); top: var(--space-xs); color: var(--c-text-invert); }

.text-meta  { font-size: var(--text-sm); line-height: var(--lh-snug); color: var(--c-text); }
.text-lead  { font-size: var(--text-lg); line-height: var(--lh-normal); color: var(--c-text-strong); }
.text-small { font-size: var(--text-sm); line-height: var(--lh-normal); }
.eyebrow {
  font-family: var(--font-eyebrow);
  font-size: var(--text-md);
  font-weight: 700;
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-text-muted);
}

@media (min-width: 960px) {
  body {
    border: var(--frame-width) solid var(--c-frame);
    border-top: 0;
  }
}

.container {
  display: flow-root;
  box-sizing: content-box;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-gutter);
  padding-right: var(--container-gutter);
}
.container > :last-child { margin-bottom: 0; }
.container .container { padding-left: 0; padding-right: 0; }

@media (min-width: 640px)  { :root { --container-gutter: var(--space-md); } }
@media (min-width: 960px)  { :root { --container-gutter: var(--space-lg); } }

.container-xsmall { max-width: var(--container-max-xsmall); }
.container-small  { max-width: var(--container-max-small); }
.container-large  { max-width: var(--container-max-large); }
.container-xlarge { max-width: var(--container-max-xlarge); }
.container-full   { max-width: none; }

.container-wide {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1200px) {
  .container-wide { width: calc(100% - (var(--space-lg) * 2)); }
}

.section {
  display: flow-root;
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}
.section > :last-child { margin-bottom: 0; }
@media (min-width: 960px) {
  .section { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }
}

.section-xsmall { padding-top: var(--space-sm);  padding-bottom: var(--space-sm); }
.section-small  { padding-top: var(--space-lg);  padding-bottom: var(--space-lg); }
.section-large  { padding-top: var(--space-xl);  padding-bottom: var(--space-xl); }
.section-xlarge { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
@media (min-width: 960px) {
  .section-xsmall { padding-top: var(--space-sm);  padding-bottom: var(--space-sm); }
  .section-small  { padding-top: var(--space-lg);  padding-bottom: var(--space-lg); }
  .section-large  { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
  .section-xlarge { padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); }
}

.section-default   { background: var(--c-bg); }
.section-muted     { background: var(--c-bg-muted); }
.section-primary   { background: var(--c-sand); }
.section-secondary { background: var(--c-navy); }

.on-dark { color: var(--c-text-invert); }
.on-dark h1, .on-dark h2, .on-dark h3, .on-dark h5, .on-dark h6 { color: var(--c-text-invert); }
.on-dark h4, .on-dark .eyebrow { color: var(--c-text-invert); }
.on-dark a:not([class]) { color: var(--c-text-invert); }
.on-dark hr { border-top-color: var(--c-white-35); }

.grid {
  display: grid;
  gap: var(--grid-gutter);
  margin: 0;
  padding: 0;
  list-style: none;
}
.grid > * > :last-child { margin-bottom: 0; }

@media (min-width: 1200px) { .grid { --grid-gutter: var(--space-lg); } }

.grid-tight { --grid-gutter: var(--space-xs); }
.grid-loose { --grid-gutter: var(--space-lg); }
@media (min-width: 1200px) { .grid-loose { --grid-gutter: var(--space-xl); } }

.grid-auto { grid-template-columns: repeat(auto-fill, minmax(var(--grid-min, 300px), 1fr)); }

.grid-2, .grid-3, .grid-4, .grid-5 { grid-template-columns: 1fr; }
@media (min-width: 640px) {
  .grid-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-5 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
  .grid-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-4 { grid-template-columns: repeat(4, 1fr); }
  .grid-5 { grid-template-columns: repeat(5, 1fr); }
}

.grid-split { grid-template-columns: 1fr; }
@media (min-width: 960px) { .grid-split { grid-template-columns: 1fr 1fr; } }

.full-bleed {

  margin-left: calc(var(--frame-width) * -1);
  margin-right: calc(var(--frame-width) * -1);
}
@media (max-width: 959px) { .full-bleed { margin-left: 0; margin-right: 0; } }

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.btn {
  display: inline-block;
  box-sizing: border-box;
  margin: 0;
  padding: 3px var(--space-md);
  border: none;
  border-radius: var(--radius-none);
  background: none;
  font-family: inherit;
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: 30px;
  color: inherit;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  overflow: visible;
  -webkit-appearance: none;
  appearance: none;
  transition: color var(--dur-fast) var(--ease),
              background-color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.btn:not(:disabled) { cursor: pointer; }
.btn:hover { text-decoration: none; }
.btn::-moz-focus-inner { border: 0; padding: 0; }

.btn:hover, .btn:active { background-color: var(--c-bg-hover); }

.btn-fill {
  background-color: var(--c-sand);
  color: var(--c-text-invert);
  border: 2px solid var(--c-sand);
  letter-spacing: var(--ls-button);
  position: relative;
  transition: all var(--dur-slow) var(--ease);
}
.btn-fill:hover {
  background-color: var(--c-sand-button-hover);
  border-color: var(--c-sand-button-hover);
  color: var(--c-text-invert);
}
.btn-fill:active, .btn-fill.is-active {
  background-color: transparent;
  color: var(--c-text-strong);
  border-color: var(--c-sand-button-hover);
}
.btn-fill:focus-visible { outline-offset: 6px; outline-width: 3px; }

.btn-outline {
  background-color: transparent;
  color: var(--c-teal);
  border: 2px solid var(--c-teal);
  letter-spacing: var(--ls-button);
}
.btn-outline:hover {
  background-color: var(--c-teal);
  color: var(--c-text-invert);
  border-color: var(--c-teal);
}
.btn-outline:active, .btn-outline.is-active {
  background-color: transparent;
  color: var(--c-teal);
}
.btn-outline:focus-visible {
  outline-color: var(--c-navy);
  outline-width: 3px;
  outline-offset: 6px;
}

.on-dark .btn-outline {
  background-color: var(--c-teal);
  color: var(--c-text-invert);
  border-color: var(--c-text-invert);
}

.btn-navy {
  background-color: var(--c-navy);
  color: var(--c-text-invert);
  border: 2px solid var(--c-navy);
}
.btn-navy:hover, .btn-navy:active, .btn-navy.is-active {
  background-color: var(--c-navy-hover);
  border-color: var(--c-navy-hover);
  color: var(--c-text-invert);
}
.btn-navy:focus-visible { outline-offset: 6px; outline-width: 3px; }

.btn-text {
  padding: 0;
  line-height: var(--lh-body);
  background: none;
  color: var(--c-text-strong);
  position: relative;
  text-transform: none;
  font-weight: 400;
}
.btn-text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 100%;
  border-bottom: 1px solid currentColor;
  transition: right var(--dur-slow) var(--ease-out);
}
.btn-text:hover, .btn-text:focus, .btn-text:active { background: transparent; color: var(--c-text-strong); }
.btn-text:hover::before { right: 0; }
.btn-text:disabled { color: var(--c-text); }
.btn-text:disabled::before { display: none; }

.btn-link {
  padding: 0;
  line-height: var(--lh-body);
  background: none;
  color: var(--c-text-strong);
  display: inline-block;
  position: relative;

}
.btn-link::before,
.btn-link::after {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  bottom: -2px;
  left: 0;
  right: 0;
}
.btn-link::before { background-color: var(--c-sand); }
.btn-link::after {
  background-color: var(--c-navy);
  transform: scaleX(0);
  transform-origin: left bottom;
  transition: transform 800ms var(--ease-out-quint);
}
.btn-link:hover { color: var(--c-text); text-decoration: none; background: transparent; }
.btn-link:hover::after { transform: scaleX(1); }
.btn-link:disabled { color: var(--c-text); text-decoration: none; }

.btn-small { padding: 0 var(--space-xs); line-height: 28px; font-size: var(--text-sm); }
.btn-large { padding: 0 var(--space-lg); line-height: 53px; font-size: var(--text-sm); }

.btn-field-height { line-height: 36px; padding-top: 0; padding-bottom: 0; }

.btn:disabled,
.btn-fill:disabled, .btn-outline:disabled, .btn-navy:disabled {
  background-color: transparent;
  color: var(--c-text);
  border-color: var(--c-line);
  cursor: default;
}

.btn-group { display: inline-flex; vertical-align: middle; position: relative; }
.btn-group > .btn:nth-child(n+2) { margin-left: -1px; }
.btn-group .btn:hover, .btn-group .btn:focus,
.btn-group .btn:active, .btn-group .btn.is-active { position: relative; z-index: var(--z-base); }

.on-dark .btn-text,
.on-dark .btn-link { color: var(--c-text-invert); }
.on-dark .btn-text:hover, .on-dark .btn-link:hover { color: var(--c-text-invert); }
.on-dark .btn-link::before { background-color: var(--c-white-50); }
.on-dark .btn-link::after  { background-color: var(--c-text-invert); }

fieldset { border: none; margin: 0; padding: 0; min-width: 0; }
legend   { padding: 0; }

label { font-size: var(--text-sm); line-height: 28px; }

.input, .select, .textarea,
input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="search"], input[type="password"], input[type="number"],
input[type="date"], input[type="time"], input[type="datetime-local"],
select, textarea {
  box-sizing: border-box;
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0 var(--space-2xs);
  border: 1px solid var(--c-line-strong);
  border-radius: var(--radius-none);
  background: var(--c-bg);
  color: var(--c-text);
  font: inherit;
  font-size: var(--text-base);
  -webkit-appearance: none;
  appearance: none;
  transition: color var(--dur-base) var(--ease),
              background-color var(--dur-base) var(--ease),
              border-color var(--dur-base) var(--ease);
}

input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="search"], input[type="password"], input[type="number"],
input[type="date"], input[type="time"], input[type="datetime-local"],
select:not([multiple]):not([size]),
.input, .select:not([multiple]):not([size]) {
  height: 40px;
  vertical-align: middle;
  display: inline-block;
}

textarea, select[multiple], select[size], .textarea {
  padding-top: 6px;
  padding-bottom: 6px;
  vertical-align: top;
  height: auto;
  overflow: auto;
}
select[multiple], select[size] { resize: vertical; }
select { text-transform: none; }
select optgroup { font: inherit; font-weight: 700; }

input:focus, select:focus, textarea:focus,
.input:focus, .select:focus, .textarea:focus {
  outline: none;
  background-color: var(--c-bg);
  color: var(--c-text);
  border-color: var(--c-sand);
}

input:focus-visible, select:focus-visible, textarea:focus-visible,
.input:focus-visible, .select:focus-visible, .textarea:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 2px;
}

input:disabled, select:disabled, textarea:disabled,
.input:disabled, .select:disabled, .textarea:disabled {
  background-color: var(--c-bg-muted);
  color: var(--c-text);
  border-color: var(--c-line);
}

::placeholder { color: var(--c-overlay-dark); opacity: 1; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { height: auto; }

select:not([multiple]):not([size]) {
  padding-right: var(--space-sm);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23444444%22%20stroke-width%3D%221.03%22%20points%3D%2216%207%2010%2013%204%207%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
}
select:not([multiple]):not([size]) option { color: var(--c-text); }

input[type="checkbox"], input[type="radio"] {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: -4px 0 0;
  padding: 0;
  overflow: hidden;
  vertical-align: middle;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid var(--c-line-control);
  border-radius: var(--radius-none);
  transition: background-color var(--dur-base) var(--ease),
              border-color var(--dur-base) var(--ease);
}
input[type="radio"] { border-radius: var(--radius-circle); }
input[type="checkbox"]:not(:disabled),
input[type="radio"]:not(:disabled) { cursor: pointer; }
input[type="checkbox"]:focus, input[type="radio"]:focus { border-color: var(--c-sand); }
input[type="checkbox"]:checked,
input[type="checkbox"]:indeterminate,
input[type="radio"]:checked {
  background-color: var(--c-sand);
  border-color: transparent;
}

input[type="checkbox"]:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpolygon%20fill%3D%22%23ffffff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%3C%2Fsvg%3E");
}
input[type="checkbox"]:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20fill%3D%22%23ffffff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%3C%2Fsvg%3E");
}
input[type="radio"]:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20fill%3D%22%23ffffff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%3C%2Fsvg%3E");
}
input[type="checkbox"]:checked:focus,
input[type="checkbox"]:indeterminate:focus,
input[type="radio"]:checked:focus { background-color: var(--c-sand-checked); }

.field-small  { font-size: var(--text-sm); height: 30px; padding-left: 8px;  padding-right: 8px; }
.field-large  { font-size: var(--text-lg); height: 55px; padding-left: 12px; padding-right: 12px; }
.field-width-small  { width: 130px; }
.field-width-medium { width: 200px; }
.field-width-large  { width: 500px; }

.is-invalid, .is-invalid:focus { color: var(--c-danger);  border-color: var(--c-danger); }
.is-valid,   .is-valid:focus   { color: var(--c-success); border-color: var(--c-success); }

.field-blank { background: none; border-color: transparent; }
.field-blank:focus { border-color: var(--c-line); border-style: solid; }

.inquiry { display: grid; gap: var(--space-sm); }
.field label { display: block; margin-bottom: var(--space-3xs); }
.field-error { color: var(--c-danger); font-size: var(--text-sm); margin: var(--space-3xs) 0 0; }
.notice {
  padding: var(--space-xs) var(--space-sm);
  background: var(--c-bg-muted);
  border-left: 3px solid var(--c-navy);
}
.notice-error { border-left-color: var(--c-danger); }
.hp { position: absolute; left: -9999px; }

.on-dark .input, .on-dark .select, .on-dark .textarea,
.on-dark input[type="text"], .on-dark input[type="email"], .on-dark input[type="tel"],
.on-dark input[type="url"], .on-dark input[type="search"], .on-dark input[type="number"],
.on-dark input[type="date"], .on-dark select, .on-dark textarea {
  background-color: var(--c-white-10);
  background-clip: padding-box;
  border-color: var(--c-white-60);
  color: var(--c-text-invert);
}
.on-dark .input::placeholder, .on-dark input::placeholder, .on-dark textarea::placeholder {
  color: var(--c-white-60);
}
.on-dark .input:focus, .on-dark input:focus, .on-dark select:focus, .on-dark textarea:focus {
  background-color: var(--c-white-15);
  border-color: var(--c-text-invert);
  color: var(--c-text-invert);
}
.on-dark input:focus::placeholder, .on-dark textarea:focus::placeholder {
  color: var(--c-text-invert);
}
.on-dark label { color: inherit; }

.icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  color: inherit;
  flex: none;
  transition: color var(--dur-fast) var(--ease);
}
.icon svg { display: block; width: 100%; height: 100%; }

.icon-sm { width: 13px; height: 13px; }
.icon-lg { width: 40px; height: 40px; }

.icon-solid { fill: currentColor; stroke: none; }

.icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  transition: color var(--dur-fast) var(--ease);
}
.icon-link:hover { color: var(--c-sand); }
.on-dark .icon-link:hover { color: var(--c-sand); }

.icon-inline { margin-right: var(--space-3xs); }

.site-header {
  --bar-top-h:        100px;
  --bar-top-h-stuck:   70px;
  --bar-main-h:        70px;
  --bar-mobile-h:      80px;
  --bar-mobile-h-stuck:50px;
  --logo-h:            90px;
  --logo-h-stuck:      70px;
  --logo-inset:        25px;

  position: relative;
  z-index: var(--z-header);
}

.hdr-bar {
  box-sizing: border-box;
  width: 100%;
  transition: background-color var(--dur-fast) var(--ease);
}

.hdr-desktop { display: none; }
@media (min-width: 1200px) {
  .hdr-desktop { display: block; }
  .hdr-mobile  { display: none; }
}

.site-header--over .hdr-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.site-header--over .hdr-bar {
  background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 50%, rgba(0,0,0,.65) 100%);
}
.site-header--over .hdr-bar::before {
  content: "";
  position: absolute;
  top: 0; right: 0; left: 0; bottom: -10%;
  background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.45) 50%, rgba(0,0,0,.65) 100%);
  z-index: 1;
  pointer-events: none;
}
.site-header--over .hdr-bar > * { position: relative; z-index: 2; }

.site-header--solid .hdr-bar { background: var(--c-bg); }

.hdr-bar.is-stuck { background: var(--c-bg); }
.hdr-bar.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: auto;
  box-shadow: var(--shadow-lg);
  animation: hdr-slide-down var(--dur-base) var(--ease-out);
}
@media (min-width: 960px) {

  .hdr-bar.is-fixed { left: var(--frame-width); right: var(--frame-width); }
}
.site-header--over .hdr-bar.is-stuck::before { display: none; }
@keyframes hdr-slide-down { from { transform: translateY(-100%); } to { transform: none; } }

.hdr-bar.is-stuck-at-rest { animation: none; }

.hdr-spacer { display: none; }
.site-header--solid .hdr-spacer.is-on { display: block; }

.hdr-top {
  display: flex;
  align-items: stretch;
  position: relative;
  height: var(--bar-top-h);
  transition: height var(--dur-slow) var(--ease);
}
.is-stuck .hdr-top { height: var(--bar-top-h-stuck); }

.hdr-rule {
  height: 1px;
  border: 0;
  margin: 0;
  background: var(--c-line);
}
.site-header--over:not(.is-stuck-any) .hdr-rule { background: var(--c-white-35); }

.hdr-main {
  display: flex;
  justify-content: center;
  height: var(--bar-main-h);
}

.hdr-left, .hdr-right { display: flex; align-items: center; gap: var(--space-xs); }
.hdr-right { margin-left: auto; }
@media (min-width: 1501px) {

  .hdr-left, .hdr-right { gap: var(--space-md); }
}
.hdr-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  z-index: var(--z-navbar-center);
  display: flex;
  align-items: center;
}

.hdr-nav { display: flex; list-style: none; margin: 0; padding: 0; }

.hdr-nav > li > a,
.hdr-item {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: .25em;
  box-sizing: border-box;
  min-height: var(--bar-main-h);
  padding: 0 var(--space-xs);
  color: var(--c-text);
  text-transform: uppercase;
  letter-spacing: var(--ls-button);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  transition: color var(--dur-fast) var(--ease);
}
.hdr-top .hdr-nav > li > a { font-size: var(--text-xs); }
.hdr-main .hdr-nav > li > a { font-size: var(--text-sm); }

.hdr-left .hdr-nav { gap: var(--space-md); }
.hdr-left .hdr-nav > li + li::before {
  content: "";
  position: absolute;
  left: calc(var(--space-md) / -2);
  top: 50%;
  height: 25px;
  transform: translateY(-50%);
  border-left: 1px solid var(--c-divider-sand);
}
.hdr-left .hdr-nav > li { position: relative; }

.hdr-top .hdr-nav > li > a:hover,
.hdr-top .hdr-nav > li > a[aria-expanded="true"],
.hdr-top .hdr-nav > li.is-current > a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.hdr-main .hdr-nav > li { position: relative; }
.hdr-main .hdr-nav > li > a { overflow: hidden; }
.hdr-main .hdr-nav > li > a::after {
  content: "";
  position: absolute;
  right: 0; left: 0; bottom: 0;
  height: 3px;
  background-color: var(--c-sand);
  transform: translateY(5px);
  transition: transform var(--dur-slow) var(--ease-out-quint);
}
.hdr-main .hdr-nav > li > a:hover::after,
.hdr-main .hdr-nav > li > a[aria-expanded="true"]::after,
.hdr-main .hdr-nav > li.is-current > a::after { transform: none; }

.site-header--over:not(.is-stuck-any) .hdr-nav > li > a,
.site-header--over:not(.is-stuck-any) .hdr-item,
.site-header--over:not(.is-stuck-any) .hdr-brand { color: var(--c-text-invert); }
.site-header--over:not(.is-stuck-any) .hdr-nav > li > a::after { background-color: var(--c-text-invert); }
.site-header--over:not(.is-stuck-any) .hdr-left .hdr-nav > li + li::before { border-left-color: var(--c-divider-grey); }

.hdr-brand {
  display: flex;
  align-items: center;
  height: var(--logo-h);
  margin: 0 50px;
  padding: 0 var(--space-xs);
  color: var(--c-text-strong);
  text-decoration: none;
}
.hdr-brand img {
  display: block;
  height: calc(100% - var(--logo-inset));
  width: auto;
}
.is-stuck .hdr-brand { height: var(--logo-h-stuck); }

.site-header--over:not(.is-stuck-any) .hdr-brand img { filter: brightness(0) invert(1); }

.hdr-book {
  display: inline-block;
  box-sizing: border-box;
  padding: 3px var(--space-md);
  line-height: 30px;
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: var(--ls-button);
  text-align: center;
  text-decoration: none;
  border-radius: var(--radius-none);
  background-color: transparent;
  color: var(--c-teal);
  border: 2px solid var(--c-teal);
  transition: color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.hdr-book:hover, .hdr-book:focus-visible {
  background-color: var(--c-teal);
  color: var(--c-text-invert);
  border-color: var(--c-teal);
}
.site-header--over:not(.is-stuck-any) .hdr-book {
  background-color: var(--c-teal);
  color: var(--c-text-invert);
  border: 2px solid var(--c-text-invert);
}
.site-header--over:not(.is-stuck-any) .hdr-book:hover,
.site-header--over:not(.is-stuck-any) .hdr-book:focus-visible {
  background-color: transparent;
  color: var(--c-text-invert);
}

.hdr-booking { display: flex; align-items: center; padding-right: var(--space-xs); }

.hdr-drop {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: var(--z-drop);
  box-sizing: border-box;
  min-width: 200px;
  width: max-content;
  max-width: calc(100vw - 30px);
  padding: var(--space-xs);
  background: var(--c-bg);
  color: var(--c-text);
  box-shadow: var(--shadow-dropdown);
  text-align: left;
}
.hdr-drop[hidden] { display: none; }
.hdr-drop-cols { display: flex; gap: var(--space-xs); }
.hdr-drop-list { list-style: none; margin: 0; padding: 0; min-width: 180px; }
.hdr-drop-list > li > a {
  display: flex;
  align-items: center;
  column-gap: .25em;
  padding: var(--space-2xs) var(--space-3xs);
  font-size: var(--text-sm);
  line-height: 1.3rem;
  color: var(--c-text);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);
}
.hdr-drop-list > li > a:hover,
.hdr-drop-list > li > a:focus-visible { color: var(--c-sand); background-color: #f7f7f7; }

.hdr-drop-list > li.is-current > a { color: var(--c-text-strong); }

.hdr-drop { animation: hdr-drop-in var(--dur-base) var(--ease-out); }
@keyframes hdr-drop-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }

.hdr-caret { transition: transform var(--dur-slow) var(--ease-out); }
[aria-expanded="true"] > .hdr-caret { transform: rotateX(180deg); }

.hdr-lang { position: relative; display: flex; align-items: center; }
.hdr-lang > button {
  font-family: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  font-size: var(--text-xs);
}
.hdr-lang .hdr-drop { left: auto; right: 0; min-width: 190px; }
.hdr-lang-code { font-variant-numeric: tabular-nums; }
.hdr-lang-name { color: var(--c-text-dim); font-size: var(--text-xs); }

.hdr-lang-list > li > a > .hdr-lang-code { flex: 0 0 auto; min-width: 5.5ch; }
.hdr-drop-list > li[aria-current="true"] > a,
.hdr-drop-list > li > a[aria-current="true"] { color: var(--c-sand); }

.hdr-mobile-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  position: relative;
  min-height: var(--bar-mobile-h);
}
.is-stuck .hdr-mobile-row { min-height: var(--bar-mobile-h-stuck); }

.hdr-book-mobile {
  display: inline-block;
  box-sizing: border-box;
  padding: 0 var(--space-xs);
  border: 2px solid transparent;
  line-height: 32px;
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: var(--ls-button);
  color: var(--c-text);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  white-space: nowrap;
}
.site-header--over:not(.is-stuck-any) .hdr-book-mobile { color: var(--c-text-invert); }
.is-stuck .hdr-book-mobile {
  display: flex;
  align-items: center;
  border: 0;
  padding: 0 var(--space-md);
  line-height: 45px;
  background: var(--c-sand);
  color: var(--c-text-invert);
  font-weight: 400;
  text-decoration: none;
}
.is-stuck .hdr-book-mobile:hover,
.is-stuck .hdr-book-mobile:focus-visible { background: var(--c-sand-checked); }
@media (max-width: 374px) { .is-stuck .hdr-book-mobile { padding: 3px 12px; } }

.hdr-call {
  display: none;
  align-items: center;
  column-gap: var(--space-2xs);
  padding: 0 var(--space-xs);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-button);
  color: var(--c-text);
  text-decoration: none;
  white-space: nowrap;
}
.is-stuck .hdr-call { display: flex; }
@media (max-width: 375px) {
  .is-stuck .hdr-call .icon + span { display: none; }
}

.hdr-mobile .hdr-center { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }

.hdr-mobile .hdr-brand { height: auto; margin: 0; padding: 0; }
.site-header--over .hdr-mobile .hdr-brand { position: relative; width: 170px; top: 30px; }
.site-header--over .hdr-mobile .hdr-brand img { width: 100%; height: auto; }
.site-header--solid .hdr-mobile .hdr-brand { height: var(--bar-mobile-h); width: auto; }
.site-header--solid .hdr-mobile .hdr-brand img { height: 53%; width: auto; }
.is-stuck .hdr-mobile .hdr-brand { display: none; }

.hdr-toggle {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--bar-mobile-h);
  width: 70px;
  padding: 0 var(--space-xs);
  background: none;
  border: 0;
  color: var(--c-text);
  cursor: pointer;
}
.is-stuck .hdr-toggle { min-height: var(--bar-mobile-h-stuck); }
.site-header--over:not(.is-stuck-any) .hdr-toggle,
.site-header--over:not(.is-stuck-any) .hdr-call { color: var(--c-text-invert); }

.hdr-search-bar {
  display: flex;
  align-items: center;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  background: var(--c-bg);
}
.hdr-search-bar form {
  position: relative;
  display: block;
  margin: 0 var(--space-xs);
  width: 205px;
}
.hdr-search-bar .icon-search {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  color: var(--c-text);
}
.hdr-search-bar input {
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  padding: 1px 10px 1px 40px;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-none);
  background: var(--c-bg);
  font-family: inherit;
  font-size: var(--text-sm);
  color: var(--c-text);
}
.hdr-search-bar input:focus { outline: none; border-color: var(--c-sand); }
.hdr-search-options {
  margin-left: auto;
  display: flex;
  align-items: center;
  column-gap: .25em;
  min-height: 70px;
  padding: 0 var(--space-xs);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-button);
  color: var(--c-text);
  text-decoration: none;
  background: none;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
}

.offcanvas {
  position: fixed;
  top: 0; bottom: 0; left: 0; right: 0;
  z-index: var(--z-offcanvas);
}
.offcanvas[hidden] { display: none; }

.offcanvas-scrim {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0,0,0,.1);
  opacity: 0;
  transition: opacity 150ms linear;
}
.offcanvas.is-open .offcanvas-scrim { opacity: 1; }

.offcanvas-bar {
  position: absolute;
  top: 0; bottom: 0; right: 0;
  box-sizing: border-box;
  width: 80%;
  padding: var(--space-sm);
  background: var(--c-bg);
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform var(--dur-slow) var(--ease-out);
}
.offcanvas.is-open .offcanvas-bar { transform: none; }
@media (min-width: 640px) {
  .offcanvas-bar { width: 350px; padding: var(--space-md); }
}

.offcanvas-close {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: none;
  border: 0;
  color: var(--c-sand);
  cursor: pointer;
}
.offcanvas-close:hover { color: var(--c-sand-hover); }

.offcanvas-body { margin-top: 80px; }

.offcanvas-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xs);
  margin-bottom: var(--space-sm);
}
.offcanvas-cta a {
  display: block;
  box-sizing: border-box;
  padding: 3px var(--space-xs);
  line-height: 30px;
  font-size: var(--text-sm);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--ls-button);
  text-decoration: none;
  border-radius: var(--radius-none);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);
}
.offcanvas-cta .cta-book {
  border: 2px solid var(--c-teal);
  color: var(--c-teal);
  background: transparent;
}
.offcanvas-cta .cta-book:hover, .offcanvas-cta .cta-book:focus-visible {
  background: var(--c-teal);
  color: var(--c-text-invert);
}
.offcanvas-cta .cta-second {
  border: 2px solid var(--c-text-muted);
  color: var(--c-text-muted);
  background: transparent;
}
.offcanvas-cta .cta-second:hover, .offcanvas-cta .cta-second:focus-visible {
  color: var(--c-text-invert);
  background-color: #252929;
}

.offcanvas-inner {
  border: 1px solid var(--c-line-light);
  padding: var(--space-2xs) var(--space-sm) 100px;
}

.offcanvas-nav { list-style: none; margin: 0; padding: 0; font-size: var(--text-nav); }
.offcanvas-nav > li + li {
  margin-top: var(--space-3xs);
  padding-top: var(--space-3xs);
  border-top: 1px solid var(--c-line);
}

.offcanvas-nav > li { display: flex; flex-wrap: wrap; align-items: center; }
.offcanvas-nav > li > .offcanvas-sub { flex: 0 0 100%; }
.offcanvas-nav > li > a { flex: 1 1 auto; min-width: 0; }
.offcanvas-nav > li > .offcanvas-parent { flex: 0 0 auto; }

.offcanvas-nav > li > a,
.offcanvas-nav > li > .offcanvas-parent {
  display: flex;
  align-items: center;
  column-gap: .25em;
  box-sizing: border-box;
  padding: var(--space-2xs) 0;
  color: var(--c-text);
  text-decoration: none;
  background: none;
  border: 0;
  font-family: inherit;
  font-size: var(--text-nav);
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
  transition: color var(--dur-slow) var(--ease);
}
.offcanvas-nav > li.is-current > a { color: var(--c-sand); }
.offcanvas-nav > li > .offcanvas-parent { padding-left: var(--space-2xs); }

.offcanvas-sub { display: flex; gap: 0; padding: var(--space-3xs) 0; }
.offcanvas-sub[hidden] { display: none; }
.offcanvas-sub-col { flex: 1 1 0; min-width: 0; list-style: none; margin: 0; padding: 0; }
.offcanvas-sub-col > li > a {
  display: block;
  padding: 3px 0;
  font-size: var(--text-md);
  line-height: 2;
  color: var(--c-text);
  text-decoration: none;
}
.offcanvas-sub-col > li > a:hover { color: var(--c-sand); }
.offcanvas-sub-col > li.is-current > a { color: var(--c-sand); }

.offcanvas-foot { margin-top: var(--space-sm); }
.offcanvas-foot ul {
  list-style: none;
  margin: 0 0 var(--space-2xs);
  padding: 0;
  font-size: var(--text-sm);
  line-height: 1.7;
}
.offcanvas-foot li > a {
  display: flex;
  align-items: center;
  column-gap: .25em;
  padding: var(--space-3xs) 0;
  color: var(--c-text);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.offcanvas-foot li > a:hover { color: var(--c-sand); }
.offcanvas-foot hr { margin: var(--space-sm) 0; }

.offcanvas-lang { margin-top: var(--space-2xs); }
.offcanvas-lang .offcanvas-lang-label {
  display: block;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-eyebrow);
  color: var(--c-text-muted);
  font-family: var(--font-eyebrow);
  margin-bottom: var(--space-3xs);
}

.offcanvas-panel-body { margin-top: var(--space-lg); }
.offcanvas-panel-body label { display: block; margin-bottom: var(--space-3xs); }
.offcanvas-panel-body select { width: 100%; margin-bottom: var(--space-xs); }

body.is-locked { overflow: hidden; }

.site-footer { --footer-gutter: calc(var(--space-md) * 2); }

.site-footer {
  position: relative;
  overflow: hidden;
}
.site-footer__inner {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.site-footer__media {
  position: absolute;
  inset: 0;
  z-index: var(--z-below);
  pointer-events: none;
  background-color: var(--c-navy);
}
.site-footer__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.site-footer__scrim {
  position: absolute;
  inset: 0;
  background-color: var(--c-overlay-navy);
}

@media (prefers-reduced-motion: reduce) {
  .site-footer__video { display: none; }
}

.site-footer__container {
  position: relative;
  padding-left: var(--container-gutter);
  padding-right: var(--container-gutter);
}

.footer-cols {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--footer-gutter) * -1);
}
.footer-col {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-left: var(--footer-gutter);
}

@media (max-width: 959px) {
  .footer-col--nav,
  .footer-col--address { margin-top: var(--footer-gutter); }
  .footer-col--nav::before,
  .footer-col--address::before {
    content: "";
    position: absolute;
    top: calc(var(--space-md) * -1);
    left: var(--footer-gutter);
    right: 0;
    border-top: 1px solid var(--c-white-60);
  }
}

@media (min-width: 960px) {
  .footer-col--nav     { width: 20%; order: -1; }
  .footer-col--signup  { width: 60%; }
  .footer-col--address { width: 20%; }

  .footer-col--signup::before,
  .footer-col--address::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--space-md);
    border-left: 1px solid var(--c-white-60);
  }
}

.footer-signup { width: 100%; }
@media (min-width: 1200px) { .footer-signup { width: 60%; } }
@media (min-width: 1600px) { .footer-signup { width: 40%; } }

.footer-signup__intro { text-align: center; }

.footer-signup__heading {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-eyebrow);
  font-size: var(--text-md);
  font-weight: 700;
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: inherit;
}

.footer-signup__form {
  width: 83.3333%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 960px)  { .footer-signup__form { width: 66.6667%; } }
@media (min-width: 1200px) { .footer-signup__form { width: 100%; } }

.footer-signup__row {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
@media (min-width: 960px) {
  .footer-signup__row {
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
  }
}
.footer-signup__email { flex: 1; width: 100%; }
.footer-signup__row .btn { flex: none; }

.footer-signup__notice {
  margin: 0 0 var(--space-xs);
  font-size: var(--text-sm);
  line-height: var(--lh-normal);
}
.footer-signup__error { color: var(--c-text-invert); font-weight: 700; }

.footer-social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: var(--space-sm) 0 var(--space-sm) calc(var(--space-2xs) * -1);
  padding: 0;
  list-style: none;
}
.footer-social > * { padding-left: var(--space-2xs); }
.footer-social a {
  display: flex;
  align-items: center;
  padding: 14px 9px;
  color: inherit;
  font-size: var(--text-sm);
  line-height: 0;
  text-decoration: none;
}

.footer-social a:hover { color: var(--c-white-70); }

.footer-copyright {
  margin-top: var(--space-lg);
  padding: var(--space-xs);
  font-size: var(--text-sm);
  line-height: var(--lh-snug);
  text-align: center;
  text-transform: uppercase;
}
@media (max-width: 959px) { .footer-copyright--wide   { display: none; } }
@media (min-width: 960px) { .footer-copyright--narrow { display: none; } }

.footer-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--text-sm);
  line-height: 1.7;
  text-align: center;
}
.footer-nav__link {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: var(--space-2xs) 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: var(--text-md);
  line-height: var(--lh-normal);
  color: inherit;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  transition: color var(--dur-fast) var(--ease);
}
.footer-nav > li:first-child > .footer-nav__link { padding-top: 0; }
button.footer-nav__link { cursor: pointer; }
.footer-nav .is-current > .footer-nav__link { color: var(--c-sand); }

.footer-nav__link:hover { color: var(--c-white-70); }

.footer-address {
  margin: 0 0 var(--space-sm);
  text-align: center;
}
.footer-address > :last-child { margin-bottom: 0; }

.site-footer .text-meta { color: inherit; }

.site-footer input[type="checkbox"],
.site-footer input[type="radio"] { margin-right: 8px; }

.booking-bar {

  --booking-pill-radius: 100px;

  --booking-trigger-radius: 50px;

  --booking-step-size: 37.8px;

  --booking-popover-radius: 5px;
  --booking-step-border: #e0e0e0;
  --booking-step-color: #333333;

  --booking-col-gap: 30px;

  --booking-submit-gap: 30px;
}
@media (min-width: 1200px) {
  .booking-bar { --booking-submit-gap: 40px; }
}

.hero-booking {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;

  margin-bottom: -31px;
  z-index: var(--z-base);
}

html.js .hero-booking.is-sheet-open { z-index: var(--z-offcanvas); }
.hero.hero-with-booking { margin-bottom: var(--space-xl); }

@media (min-width: 960px) {
  .hero-booking { margin-bottom: var(--space-lg); }
  .hero.hero-with-booking { margin-bottom: 0; }
}

.booking-bar {
  position: relative;
  display: block;

  color: var(--c-text);
}

.booking-bar__container {
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 var(--space-xs);
}

.booking-form { margin: 0; }

html.js .booking-bar__panel {
  background-color: var(--c-white-84);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--shadow-sm);
  border-radius: var(--booking-pill-radius);
  padding: var(--space-2xs) var(--space-sm);
}

.booking-bar__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--booking-col-gap);
}

.booking-field {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--space-2xs);
  position: relative;
}
.booking-field__icon { display: block; width: 30px; height: 30px; flex: none; }
.booking-bar .booking-field__icon .icon { width: 30px; height: 30px; }
.booking-field__body { display: flex; flex-direction: column; min-width: 0; position: relative; }

.booking-field__label {
  display: flex;
  align-self: flex-start;
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 24px;
  text-transform: uppercase;
  color: var(--c-text-strong);
  margin: 0;
  white-space: nowrap;
}

.booking-bar .booking-field__display {
  border: 0;
  height: 20px;
  font-family: inherit;
  font-size: var(--text-base);
  line-height: 20px;
  padding: 0;
  margin: 0;
  background-color: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.booking-bar .booking-field__display:focus { outline: var(--focus-ring); outline-offset: 2px; }

.booking-bar .booking-field__display:focus { background-color: transparent; }

html.js .booking-field--guests::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--booking-col-gap) / -2);
  border-left: 1px solid var(--c-divider-sand);
}

.booking-submit {
  padding: 4px var(--space-2xs);
  border-radius: var(--radius-booking-button);
  white-space: nowrap;
}
html.js .booking-bar__row .booking-submit { margin-left: calc(var(--booking-submit-gap) - var(--booking-col-gap)); }
.booking-submit .icon { width: 20px; height: 20px; }

.booking-guests-panel {
  display: flex;
  flex-direction: column;

  gap: var(--space-xs);
}
html.js .booking-guests-panel {
  display: none;
  position: absolute;

  top: calc(100% + 4px);
  left: 0;
  z-index: var(--z-drop);
  width: 300px;
  max-width: calc(100vw - var(--space-md));
  padding: var(--space-xs);
  background-color: var(--c-bg);
  border-radius: var(--booking-popover-radius);
  box-shadow: var(--shadow-sm);
}
html.js .booking-guests-panel.is-open { display: flex; }

html.js .booking-guests-panel.is-above { top: auto; bottom: -1px; }

.booking-count {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.booking-count__label {
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: 28px;
  color: var(--c-text-strong);
  text-align: center;
  margin: 0;
}
.booking-count__row {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 0;
  width: 150px;
  max-width: 100%;
}
.booking-bar .booking-count__value {

  flex: 1 1 auto;
  width: auto;
  min-width: 20px;
  font-family: inherit;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  -moz-appearance: textfield;
  appearance: textfield;
}
.booking-bar .booking-count__value::-webkit-outer-spin-button,
.booking-bar .booking-count__value::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.booking-bar .booking-count__value:focus { outline: var(--focus-ring); outline-offset: 2px; }

.booking-count__step {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--booking-step-size);
  height: var(--booking-step-size);
  flex: none;
  padding: 0;
  border: 1px solid var(--booking-step-border);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--booking-step-color);
  font-size: var(--text-lg);
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease);
}
.booking-count__step:hover:not(:disabled),
.booking-count__step:active:not(:disabled) { border-color: gray; z-index: var(--z-base); }
.booking-count__step:disabled { cursor: default; opacity: .45; }
.booking-count__step .icon { width: 12px; height: 12px; }

.booking-bar__trigger {
  display: none;
  align-items: center;
  justify-content: space-between;

  gap: var(--space-xs);
  width: 100%;
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--booking-trigger-radius);
  background-color: var(--c-bg);
  box-shadow: 0 3px 10px rgba(0, 0, 0, .1);
  font-size: var(--text-xs);
  line-height: var(--lh-normal);
}
.booking-bar__trigger-open {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.booking-bar__trigger-open:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }
.booking-bar__trigger-label {
  display: block;
  width: 100%;
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: var(--lh-normal);
  color: var(--c-text-strong);
  text-transform: none;
}
.booking-bar__trigger-dates {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 959px) {
  html.js .booking-bar__trigger { display: flex; }
}

@media (max-width: 959px) {
  html.js .booking-bar__panel {
    position: fixed;
    inset: 0;
    z-index: var(--z-offcanvas);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 25px var(--space-xs);
    background-color: var(--c-bg);
    box-shadow: 0 5px 8px rgba(0, 0, 0, .08);
    border-radius: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    display: none;
  }
  html.js .booking-bar__panel.is-open {
    display: block;
    animation: booking-sheet-in var(--dur-slow) var(--ease-out-quint);
  }

  html.js .booking-bar__row {
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    margin-top: var(--space-lg);
  }
  html.js .booking-field--dates .booking-field__icon,
  html.js .booking-field--dates .booking-field__label,
  html.js .booking-bar .booking-field--dates .booking-field__display,
  html.js .booking-field--guests .booking-field__icon,
  html.js .booking-field--guests .booking-field__label,
  html.js .booking-bar .booking-field--guests .booking-field__display { display: none; }
  html.js .booking-field { width: 100%; justify-content: center; }

  html.js .booking-field--guests::before { display: none; }
  html.js .booking-guests-panel {
    position: static;
    width: auto;
    max-width: none;
    flex-direction: row;
    justify-content: center;
    gap: var(--space-lg);
    padding: 0;
    box-shadow: none;
    background: none;
  }
  html.js .booking-guests-panel,
  html.js .booking-guests-panel.is-open { display: flex; }
  html.js .booking-count__step .icon { width: 15px; height: 15px; }
  html.js .booking-bar__submit { width: 100%; text-align: center; }
  html.js .booking-bar__row .booking-submit { margin-left: 0; }

  html.js .booking-bar__panel .booking-submit-icon { display: none; }
}
@media (min-width: 960px) {
  html.js .booking-submit-text { display: none; }
}

.booking-sheet__close {
  position: absolute;
  line-height: 0;
  top: var(--space-md);
  right: var(--space-md);
  display: none;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}
@media (max-width: 959px) {
  html.js .booking-sheet__close { display: block; }
}
.booking-sheet__close .icon { width: 20px; height: 20px; }
.booking-sheet__close:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }

.booking-calendar { display: none; }
@media (max-width: 959px) {
  html.js .booking-calendar {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: var(--space-2xs);
  }
}

.booking-native {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-2xs) var(--space-xs);
}
.booking-native label {
  display: block;
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 24px;
  text-transform: uppercase;
  color: var(--c-text-strong);
}
.booking-bar .booking-native input {
  font-family: inherit;
  font-size: var(--text-base);
  line-height: 20px;
  height: 30px;
  padding: 0 var(--space-3xs);
  border: 1px solid var(--c-line-strong);
  border-radius: 0;
  background-color: var(--c-bg);
  color: var(--c-text);
}
html.js .booking-native { display: none; }

html:not(.js) .booking-bar__container { width: auto; max-width: var(--container-max); }
html:not(.js) .booking-bar__panel {
  background-color: var(--c-white-84);
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-sm);
  padding: var(--space-xs) var(--space-sm);
}
html:not(.js) .booking-bar__row { flex-wrap: wrap; align-items: flex-end; }
html:not(.js) .booking-bar .booking-field__display,
html:not(.js) .booking-count__step,
html:not(.js) .booking-bar__trigger,
html:not(.js) .booking-sheet__close,
html:not(.js) .booking-calendar,
html:not(.js) .booking-field__icon { display: none; }
html:not(.js) .booking-guests-panel { flex-direction: row; gap: var(--space-md); }

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background-color: var(--c-sand);
  border-color: var(--c-sand);
}
.flatpickr-current-month { font-size: var(--text-md); font-family: var(--font-body); }
.booking-bar .flatpickr-calendar.arrowTop::after,
.booking-bar .flatpickr-calendar.arrowTop::before { display: none; }
@media (max-width: 320px) {
  .booking-bar .flatpickr-calendar {
    margin-top: -10px;
    margin-bottom: -20px;
    transform: scale(.85);
  }
}

.flatpickr-day:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }

@keyframes booking-sheet-in {
  from { transform: translateX(-100%); }
  to   { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  html.js .booking-bar__panel.is-open { animation: none; }
}

.cookie-banner,
.cookie-options,
.cookie-message {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: var(--z-banner);
  background-color: var(--c-navy);
  color: var(--c-text-invert);
  box-shadow: var(--shadow-sm);
  font-family: Arial, Helvetica, sans-serif;
}

.cookie-title {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: 700;
  color: inherit;
  text-transform: none;
  letter-spacing: normal;
}

.cookie-text > :last-child { margin-bottom: 0; }
.cookie-text p { margin: 0 0 var(--space-2xs); }
.cookie-text a { color: inherit; text-decoration: underline; }

.cookie-actions {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: .85px;
  text-transform: uppercase;
  white-space: nowrap;
}
.cookie-actions .btn { font-weight: 700; }

.cookie-actions .cookie-accept { flex: 1; }

.cookie-actions .cookie-decline,
.cookie-options .cookie-save {
  flex: none;
  text-transform: uppercase;
  letter-spacing: normal;
}

.cookie-banner {
  width: 300px;
  max-width: 100%;
  padding: 12px var(--space-sm);
}
@media (min-width: 640px) { .cookie-banner { margin: var(--space-md); } }
@media (min-width: 960px) {
  .cookie-banner {
    width: 400px;
    padding: var(--space-sm) var(--space-lg);
  }
}
.cookie-banner .cookie-title {
  font-size: var(--text-base);
  line-height: var(--lh-body);
}

.cookie-banner .cookie-text { line-height: var(--lh-normal); }

.cookie-options {
  width: 300px;
  max-width: calc(100% - (var(--space-md) * 2));
  margin: var(--space-md);
  padding: 1rem;
  font-size: var(--text-sm);
  line-height: var(--lh-snug);
}
@media (min-width: 1200px) { .cookie-options { margin: 50px; } }
.cookie-options__body { position: relative; }

.cookie-options__close {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}
.cookie-options .cookie-title { padding-right: var(--space-md); }

.cookie-groups {
  margin: 0 0 var(--space-sm);
  padding: 0;
  list-style: none;
}
.cookie-groups > :nth-child(n+2) { margin-top: var(--space-2xs); }
.cookie-groups label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: inherit;
  line-height: inherit;
}
.cookie-groups input { margin: 0; }

.cookie-groups input:disabled { opacity: .7; cursor: default; }

.cookie-message {
  width: 100%;
  padding: 1rem;
  font-size: var(--text-base);
  line-height: var(--lh-body);
}

.block {
  position: relative;
}

.block-spaced {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}
@media (min-width: 960px) {
  .block-spaced { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }
}

.block-flush { margin-bottom: var(--space-lg); }
* + .block-flush { margin-top: var(--space-lg); }
@media (min-width: 1200px) {
  .block-flush { margin-bottom: var(--space-xl); }
  * + .block-flush { margin-top: var(--space-xl); }
}

.block-flush-large { margin-bottom: var(--space-xl); }
* + .block-flush-large { margin-top: var(--space-xl); }
@media (min-width: 1200px) {
  .block-flush-large { margin-bottom: var(--space-2xl); }
  * + .block-flush-large { margin-top: var(--space-2xl); }
}

.block-no-space {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

@media (min-width: 960px) { .hide-desktop { display: none; } }
@media (max-width: 959px) { .hide-mobile  { display: none; } }

.container-flush { padding-left: 0; padding-right: 0; }

.text-content--tight > :last-child,
.text-content--tight > :last-child > :last-child { margin-bottom: 0; }

.text-content ul { padding-left: 0; }
.text-content ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) li {
  padding: var(--space-sm) 0;
  margin: 0;
  display: block;
  position: relative;
  line-height: 1.5em;
}
.text-content ul:not(.horizontal-list):not(.horizontal-list-centered) li:not(:last-child) {
  border-bottom: 1px solid var(--c-line-list);
}
@media (max-width: 959px) {
  .text-content ul:not(.horizontal-list):not(.horizontal-list-centered) li {
    border-bottom: 1px solid var(--c-line-list);
  }
}

.text-content ul.bullet-list { list-style-type: disc; padding-left: var(--space-sm); }
.text-content ul.bullet-list li,
.text-content ul.bullet-list li.has-icon {
  padding: var(--space-3xs) 0;
  border-bottom: none !important;
  display: list-item;
}

.text-content ul.horizontal-list-centered {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  justify-content: center;
  align-items: center;
}

.text-content .btn:not(.btn-link),
.text-content .uk-button:not(.uk-button-link) { margin-top: var(--space-2xs); }
.block-button { margin-bottom: 0; }

.text-content .uk-h4 {
  font-family: var(--font-eyebrow);
  font-size: var(--text-md);

  font-weight: 700;
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.on-dark .text-content .uk-h4 { color: var(--c-text-invert); }

.block :is(.uk-h1, .uk-h2, .uk-h3) {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--c-navy);
  text-transform: none;
  margin: 0 0 var(--space-sm);
}
.block .uk-h1 { font-size: var(--text-3xl); line-height: var(--lh-tight); }
.block .uk-h2 { font-size: var(--text-xl);  line-height: var(--lh-heading); }
.block .uk-h3 { font-size: var(--text-lg);  line-height: var(--lh-snug); }
.on-dark :is(.uk-h1, .uk-h2, .uk-h3) { color: var(--c-text-invert); }

.block .uk-text-small { font-size: var(--text-sm); line-height: var(--lh-normal); }
.block .uk-text-meta  { font-size: var(--text-sm); line-height: var(--lh-snug); color: var(--c-text); }
.block .uk-text-lead  { font-size: var(--text-lg); line-height: var(--lh-normal); color: var(--c-text-strong); }
.block .uk-text-center    { text-align: center; }
.block .uk-text-right     { text-align: right; }
.block .uk-text-uppercase { text-transform: uppercase; }
.block .uk-text-bold      { font-weight: 700; }

.text-content table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin-bottom: var(--space-sm);
  overflow-x: auto;
}
.text-content * + table { margin-top: var(--space-sm); }
.text-content table th {
  padding: 16px 12px;
  text-align: left;
  vertical-align: bottom;
  font-size: var(--text-sm);
  font-weight: 400;
  color: var(--c-text);
  text-transform: uppercase;
}
.text-content table td { padding: 16px 12px; vertical-align: top; }
.text-content table td > :last-child { margin-bottom: 0; }
.text-content table tbody tr { transition: background-color .1s linear; }
.text-content table > :not(:first-child) > tr,
.text-content table > :first-child > tr:not(:first-child) { border-top: 1px solid var(--c-line); }
.text-content table tbody tr:nth-of-type(odd) {
  background: var(--c-bg-subtle);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.text-content table tbody tr:nth-of-type(even):last-child { border-bottom: 1px solid var(--c-line); }

.block .uk-button {
  display: inline-block;
  box-sizing: border-box;
  margin: 0;
  padding: 3px var(--space-md);
  border: none;
  border-radius: var(--radius-none);
  background: none;
  font-family: inherit;
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: 30px;
  color: inherit;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  overflow: visible;
  -webkit-appearance: none;
  appearance: none;
  transition: color var(--dur-fast) var(--ease),
              background-color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.block .uk-button:not(:disabled) { cursor: pointer; }
.block .uk-button:hover { text-decoration: none; }
.block .uk-button:hover, .block .uk-button:active { background-color: var(--c-bg-hover); }

.block .uk-button-default {
  background-color: var(--c-sand);
  color: var(--c-text-invert);
  border: 2px solid var(--c-sand);
  letter-spacing: var(--ls-button);
  position: relative;
  transition: all var(--dur-slow) var(--ease);
}
.block .uk-button-default:hover {
  background-color: var(--c-sand-button-hover);
  border-color: var(--c-sand-button-hover);
  color: var(--c-text-invert);
}

.block .uk-button-primary {
  background-color: transparent;
  color: var(--c-teal);
  border: 2px solid var(--c-teal);
  letter-spacing: var(--ls-button);
}
.block .uk-button-primary:hover {
  background-color: var(--c-teal);
  color: var(--c-text-invert);
  border-color: var(--c-teal);
}
.block.on-dark .uk-button-primary, .on-dark .block .uk-button-primary {
  background-color: var(--c-teal);
  color: var(--c-text-invert);
  border-color: var(--c-text-invert);
}

.block .uk-button-secondary {
  background-color: var(--c-navy);
  color: var(--c-text-invert);
  border: 2px solid var(--c-navy);
}
.block .uk-button-secondary:hover, .block .uk-button-secondary:active {
  background-color: var(--c-navy-hover);
  border-color: var(--c-navy-hover);
  color: var(--c-text-invert);
}

.block .uk-button-third {
  border: 2px solid var(--c-text-muted);
  color: var(--c-text-muted);
  background: transparent;
}
.block .uk-button-third:hover, .block .uk-button-third:focus, .block .uk-button-third:active {
  color: var(--c-text-invert);
  background-color: #252929;
}

.block .uk-button-text {
  padding: 0;
  line-height: var(--lh-body);
  background: none;
  color: var(--c-text-strong);
  position: relative;
  text-transform: none;
  font-weight: 400;
}
.block .uk-button-text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 100%;
  border-bottom: 1px solid currentColor;
  transition: right var(--dur-slow) var(--ease-out);
}
.block .uk-button-text:hover, .block .uk-button-text:focus, .block .uk-button-text:active {
  background: transparent;
  color: var(--c-text-strong);
}
.block .uk-button-text:hover::before { right: 0; }

.block .uk-button-link {
  padding: 0;
  line-height: var(--lh-body);
  background: none;
  color: var(--c-text-strong);
  display: inline-block;
  position: relative;
}
.block .uk-button-link::before,
.block .uk-button-link::after {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  bottom: -2px;
  left: 0;
  right: 0;
}
.block .uk-button-link::before { background-color: var(--c-sand); }
.block .uk-button-link::after {
  background-color: var(--c-navy);
  transform: scaleX(0);
  transform-origin: left bottom;
  transition: transform 800ms var(--ease-out-quint);
}
.block .uk-button-link:hover { color: var(--c-text); text-decoration: none; background: transparent; }
.block .uk-button-link:hover::after { transform: scaleX(1); }

.block .uk-button-small { padding: 0 var(--space-xs); line-height: 28px; font-size: var(--text-sm); }
.block .uk-button-large { padding: 0 var(--space-lg); line-height: 53px; font-size: var(--text-sm); }

.on-dark .uk-button-text,
.on-dark .uk-button-link { color: var(--c-text-invert); }
.on-dark .uk-button-text:hover, .on-dark .uk-button-link:hover { color: var(--c-text-invert); }
.on-dark .uk-button-link::before { background-color: var(--c-white-50); }
.on-dark .uk-button-link::after  { background-color: var(--c-text-invert); }

.text-content .uk-h1 + h2, .text-content .uk-h1 + .uk-h2 { margin-top: -1rem; }

.text-content h4 + h1, .text-content .uk-h4 + h1, .text-content .eyebrow + h1 { margin-top: -1rem;   margin-bottom: 2.2rem; }
.text-content h4 + h2, .text-content .uk-h4 + h2, .text-content .eyebrow + h2 { margin-top: -.8rem; }
.text-content h4 + h3, .text-content .uk-h4 + h3, .text-content .eyebrow + h3 { margin-top: -.8rem; }
.text-content h1 + h2 { margin-top: -1rem; }
.text-content h2 + h1, .text-content h3 + h1 { margin-top: -1.5rem; margin-bottom: 2.2rem; }
.text-content h3 + h2 { margin-top: -1.5rem; margin-bottom: 2.2rem; }
.text-content h2 + h3 { margin-top: 0; }
.text-content h1 + h4 { margin-top: -1em; text-transform: uppercase; }
.text-content h2 + h4 { margin-top: -1em; }

.text-content ul li span.icon {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.2em;
  position: absolute;
  right: 100%;
  top: var(--space-sm);
  left: 0;
  color: var(--c-sand);
}
@media (max-width: 959px) {
  .text-content ul li span.icon { margin-right: -50px; }
}
.text-content ul.bullet-list li span.icon,
.block-panel .text-content ul li span.icon,
.block-intro .text-content ul li span.icon {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  margin-right: var(--space-3xs);
}

.hero-slideshow {
  position: relative;
  overflow: hidden;
}
.hero-slides {
  position: relative;
  min-height: 50vh;
}
@media (min-width: 961px) {
  .hero-slides { min-height: 70vh; }
  .block-hero.hero-with-booking .hero-slides {
    min-height: calc(100vh - var(--frame-width));
  }
}

@media (min-width: 640px) { .block-hero.hero-h-large .hero-slides { min-height: 500px; } }
@media (min-width: 960px) { .block-hero.hero-h-large .hero-slides { min-height: 860px; } }

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur-slower) var(--ease);
}
.hero-slide.is-active { opacity: 1; visibility: visible; }

.hero-media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-video-toggle {
  position: absolute;
  right: var(--space-2xs);
  bottom: var(--space-2xs);
  z-index: var(--z-raised);
  display: inline-flex;
  padding: var(--space-3xs);
  border: 0;
  background: transparent;
  color: var(--c-text-invert);
  cursor: pointer;
  filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, .5));
}
.hero-video-toggle__icon--play { display: none; }
.hero-video-toggle[aria-pressed="true"] .hero-video-toggle__icon--play { display: inline-flex; }
.hero-video-toggle[aria-pressed="true"] .hero-video-toggle__icon--pause { display: none; }

.hero-nav { display: none; }
@media (min-width: 960px) {
  .hero-nav { display: block; }
}
.hero-nav__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: var(--z-raised);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-text-invert);
  cursor: pointer;
  filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, .5));
  transition: color var(--dur-slow) var(--ease);
}
.hero-nav__arrow:hover { color: var(--c-sand); }
.hero-nav__arrow--prev { left: var(--space-2xs); }
.hero-nav__arrow--next { right: var(--space-2xs); }

.hero-dots {
  position: absolute;
  bottom: var(--space-2xs);
  left: 0;
  right: 0;
  z-index: var(--z-raised);
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) { .hero-dots { display: none; } }
.hero-dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid var(--c-white-35);
  border-radius: var(--radius-circle);
  background: transparent;
  cursor: pointer;
  transition: background-color var(--dur-base) var(--ease);
}
.hero-dot.is-current { background: var(--c-text-invert); border-color: var(--c-text-invert); }

.hero-caption {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  color: #00263b;
}
.hero-caption > div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 752px;
  padding: var(--space-md) 50px;
  background-color: var(--c-sand);
  z-index: 4;
}
.hero-caption > div > * { color: #00263b; }
.hero-caption > div > :last-child { margin-bottom: 0; }
.hero-caption h2:first-child { margin-bottom: -15px; }
.hero-caption > div::before {
  content: "";
  position: absolute;
  inset: var(--space-xs);
  border: 1px solid var(--c-text-invert);
  pointer-events: none;
}
@media (max-width: 960px) {
  .hero-caption > div { width: 90%; min-width: 90%; max-width: 90%; padding: var(--space-md); }
}

.hero-goto {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-raised);
  width: 100px;
  height: 100px;
  margin: auto;
  background: transparent;
  cursor: pointer;
}
.hero-goto::after {
  content: "";
  position: relative;
  display: block;
  width: 2px;
  height: 100%;
  margin: auto;
  background: var(--c-text-invert);
  transform-origin: top;
  animation: hero-go-down 2.5s infinite;
}
@keyframes hero-go-down {
  0%   { transform: scaleY(0); transform-origin: top; }
  45%  { transform: scaleY(1); transform-origin: top; }
  55%  { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-goto::after { animation: none; }
}

.hero-cta {
  position: absolute;
  z-index: var(--z-raised);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  line-height: 1rem;
  letter-spacing: 1px;
  text-align: center;
  text-transform: uppercase;
  transform-origin: right;
}
@media (min-width: 960px) { .hero-cta { right: 100px; bottom: -20px; } }
@media (max-width: 959px) { .hero-cta { right: -5px; top: 20px; bottom: 10%; transform: scale(.8); } }
.hero-cta .cta {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-invert);
  text-decoration: none;
}
.hero-cta .cta span { display: block; }
.hero-cta .cta-image { border: none; }
.hero-cta .cta-image img { max-width: 150px; max-height: 150px; object-fit: contain; }
.hero-cta .cta-text {
  width: 120px;
  height: 120px;
  padding: var(--space-2xs);
  border: 1px solid var(--c-text-invert);
  border-radius: var(--radius-circle);
}
.hero-cta .cta-1 { z-index: var(--z-base); transition: all var(--dur-slow) var(--ease); }
.hero-cta .cta-1.cta-text { background-color: var(--c-sand); }
.hero-cta .cta-1.cta-text:hover { background-color: var(--c-sand-checked); }
.hero-cta .cta-1,
.hero-cta .cta:not(:last-child) { margin-right: -10px; }
.hero-cta .cta:not(.cta-1) { width: 125px; height: 125px; }
.hero-cta .cta:not(.cta-1).cta-text { background-color: #383838; height: 125px; width: 125px; }
.hero-cta .cta:not(.cta-1).cta-text:hover { background-color: #1e1e1e; }
@media (max-width: 639px) {
  .hero-cta:has(.cta:nth-child(3)) { gap: var(--space-2xs); }
  .hero-cta .cta:nth-last-child(n+3),
  .hero-cta .cta:nth-last-child(n+3) ~ .cta { width: min(25vw, 110px); height: min(25vw, 110px); }
  .hero-cta .cta:nth-last-child(n+3) img,
  .hero-cta .cta:nth-last-child(n+3) ~ .cta img { max-width: 100%; max-height: 100%; }
  .hero-cta .cta:nth-last-child(n+4),
  .hero-cta .cta:nth-last-child(n+4) ~ .cta { width: min(19vw, 84px); height: min(19vw, 84px); }
}

.hero-cta-strip {
  --hero-cta-strip-top-offset: -170px;
  --hero-cta-strip-top-padding: 0px;
  position: relative;
  z-index: 6;
  margin-top: var(--hero-cta-strip-top-offset);
  padding-top: var(--hero-cta-strip-top-padding);
  padding-bottom: 72px;
}
@media (min-width: 960px) { .hero-cta-strip--with-booking { --hero-cta-strip-top-offset: 32px; } }
@media (max-width: 959px) {
  .hero-cta-strip { --hero-cta-strip-top-offset: -80px; padding-bottom: 45px; }
  .hero-cta-strip--with-booking { --hero-cta-strip-top-offset: 0px; --hero-cta-strip-top-padding: 40px; }
}
.hero-cta-strip__grid { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: stretch; }
.hero-cta-strip__grid > * { display: flex; flex: 1 1 260px; }
@media (min-width: 1200px) {
  .hero-cta-strip__grid > .hero-cta-strip__intro-column { flex: 1.25 1 300px; }
  .hero-cta-strip__grid > .hero-cta-strip__media-column { flex: 1 1 230px; }
  .hero-cta-strip__grid > .hero-cta-strip__links-column { flex: .7 1 180px; }
}
.hero-cta-strip__card {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 300px;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
  background-size: cover;
  background-position: center;
}
@media (max-width: 959px) {
  .hero-cta-strip__card { min-height: 260px; box-shadow: 0 10px 24px rgba(0, 0, 0, .18); }
}
.hero-cta-strip__card-column:last-child .hero-cta-strip__card { border-top-right-radius: 48px; }
.hero-cta-strip__card--intro {
  flex-direction: column;
  justify-content: flex-end;
  padding: 36px 32px;
  border-bottom-left-radius: 48px;
  background-color: var(--c-sand);
}
@media (max-width: 959px) {
  .hero-cta-strip__card-column:last-child .hero-cta-strip__card { border-top-right-radius: 36px; }
  .hero-cta-strip__card--intro { padding: 30px 26px; border-bottom-left-radius: 36px; }
}
.hero-cta-strip__card--has-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  background-color: var(--hero-cta-strip-overlay-color, transparent);
  pointer-events: none;
}
.hero-cta-strip__card--has-bg > * { position: relative; z-index: var(--z-raised); }
.hero-cta-strip__title {
  margin: 0 0 18px;
  color: inherit;
  font-size: 1.25rem;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}
.hero-cta-strip__text { font-size: 1rem; line-height: 1.6; }
.hero-cta-strip__card--media {
  align-items: center;
  justify-content: center;
  background-color: #181a1d;
  color: var(--c-text-invert);
  text-decoration: none;
  transition: box-shadow 250ms var(--ease), transform 250ms var(--ease);
}
.hero-cta-strip__card--media:hover,
.hero-cta-strip__card--media:focus {
  color: var(--c-text-invert);
  box-shadow: 0 24px 55px rgba(0, 0, 0, .3);
  text-decoration: none;
  transform: translateY(-6px);
}
.hero-cta-strip__card--media:focus-visible { outline: 3px solid var(--c-text-invert); outline-offset: 3px; }
.hero-cta-strip__picture,
.hero-cta-strip__picture img,
.hero-cta-strip__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-cta-strip__picture img { object-fit: cover; }
.hero-cta-strip__scrim {
  z-index: var(--z-base);
  background: linear-gradient(180deg, rgba(0, 0, 0, .05) 25%, rgba(0, 0, 0, .78) 100%);
}
.hero-cta-strip__icon,
.hero-cta-strip__caption { position: relative; z-index: var(--z-raised); }
.hero-cta-strip__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: var(--radius-circle);
  background-color: rgba(0, 0, 0, .24);
}
.hero-cta-strip__caption {
  position: absolute;
  right: 24px;
  bottom: 22px;
  left: 24px;
  font-size: .9rem;
  letter-spacing: .05em;
  text-align: center;
  text-transform: uppercase;
}
.hero-cta-strip__links-column,
.hero-cta-strip__links { min-height: 300px; }
.hero-cta-strip__links {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-sm);
  width: 100%;
  padding: 12px 4px;
}
@media (max-width: 959px) {
  .hero-cta-strip__links-column,
  .hero-cta-strip__links { min-height: 0; }
  .hero-cta-strip__links { padding: 14px 0 0; }
}
.hero-cta-strip__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3xs);
  color: inherit;
  line-height: 1.35;
  text-decoration: none;
}
.hero-cta-strip__link > span:last-child { border-bottom: 1px solid currentColor; }
.hero-cta-strip__link:hover,
.hero-cta-strip__link:focus { color: var(--c-sand); }

.content-basic__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 0 calc(var(--cb-gutter) * -1);
  padding: 0;
  list-style: none;
  --cb-gutter: var(--space-md);
}
@media (min-width: 1200px) { .content-basic__row { --cb-gutter: var(--space-lg); } }

.content-basic__row--divided { --cb-gutter: 60px; }
@media (min-width: 1200px) { .content-basic__row--divided { --cb-gutter: 80px; } }

.content-basic__col {
  position: relative;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--cb-gutter);
}

.content-basic__row--single > .content-basic__col { align-items: center; }
@media (min-width: 960px) {
  .content-basic__row--single > .content-basic__col { width: 80%; }
}

.content-basic__row--multiple > .content-basic__col { align-items: flex-start; }
@media (min-width: 960px) {
  .content-basic__row--multiple > .content-basic__col { width: 50%; }
}

@media (min-width: 960px) {
  .content-basic__row--divided > .content-basic__col + .content-basic__col::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--cb-gutter) / 2);
    border-left: 1px solid var(--c-divider-sand);
    display: block;
  }
}

@media (max-width: 959px) {
  .content-basic__row--multiple:not(.content-basic__row--divided) > * + * { margin-top: var(--space-md); }
}

@media (max-width: 959px) {
  .content-basic__row--divided > .content-basic__col + .content-basic__col {
    margin-top: 60px;
  }
  .content-basic__row--divided > .content-basic__col + .content-basic__col::before {
    content: "";
    position: absolute;
    top: -30px;
    left: var(--cb-gutter);
    right: 0;
    border-top: 1px solid var(--c-divider-sand);
    display: block;
  }
  .content-basic__row--divided > .content-basic__col + .content-basic__col > .text-content {
    padding-top: 0;
  }
  .content-basic__row--divided > .content-basic__col:last-child > .text-content {
    padding-bottom: var(--space-sm);
  }
}

.block-content_basic_element .text-content {
  width: 100%;
  padding: var(--space-sm) 0;
}
@media (min-width: 960px) {
  .block-content_basic_element .text-content { padding: var(--space-sm) var(--space-lg); }
}
.content-basic__row--multiple .text-content { width: 90%; }
@media (min-width: 960px) {
  .content-basic__row--multiple .text-content { width: 100%; }
}

@media (max-width: 959px) {
  .block-content_basic_element:not(.section-as-heading) .content-basic__row--single .text-content {
    padding-bottom: var(--space-md);
  }
}

.block-content_basic_element.section-as-heading {
  margin-bottom: 0;
  padding-bottom: var(--space-md);
}
@media (max-width: 960px) {
  .block-content_basic_element.section-as-heading { padding-bottom: var(--space-lg); }
}
.block-content_basic_element.section-as-heading + .block { margin-top: 0; }
@media (min-width: 960px) {
  .block-content_basic_element.section-as-heading + .block-content_basic_element:not([style*="background"]) {
    margin-top: var(--space-sm);
  }
}

.block-content_basic_element.block-spaced:has(+ .block-content_basic_element) {
  padding-bottom: 0;
}

.block-content_basic_element[style*="background-color"] + .block {
  margin-top: 0;
  padding-top: var(--space-lg);
}
@media (min-width: 960px) {
  .block-content_basic_element[style*="background-color"] + .block { padding-top: var(--space-xl); }
}

.block-intro { z-index: var(--z-base); }

.intro-style-1 .intro-inner {
  background: var(--c-bg);
  box-shadow: var(--shadow-sm);
  padding: var(--space-md);
}
@media (min-width: 1200px) { .intro-style-1 .intro-inner { padding: var(--space-lg); } }

.intro-style-1 .intro-text-top { margin-top: var(--space-lg); }
@media (min-width: 1200px) { .intro-style-1 .intro-text-top { margin-top: var(--space-xl); } }

.block-hero + .intro-style-1 .intro-inner {
  position: relative;
  top: -170px;
  margin-bottom: -150px;
}

.intro-style-1 + .block-tabs_element { margin-top: calc(var(--space-xl) * -1); }

.block-intro.intro-style-3 { padding-top: 0; padding-bottom: 0; margin-bottom: 0; }
* + .block-intro.intro-style-3 { margin-top: 0; }

.block-hero + .block-intro.intro-style-3 .intro-wrapper { position: relative; top: -45px; }

.intro-style-3__row {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--space-md) * -1);
}
@media (min-width: 1200px) { .intro-style-3__row { margin-left: calc(var(--space-lg) * -1); } }
.intro-style-3__aside,
.intro-style-3__main {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--space-md);
}
@media (min-width: 1200px) {
  .intro-style-3__aside,
  .intro-style-3__main { padding-left: var(--space-lg); }
}
@media (min-width: 960px) {
  .intro-style-3__aside { width: 40%; order: 2; }
  .intro-style-3__main  { width: 60%; order: 1; }
}

@media (max-width: 959px) {
  .intro-style-3__row > * + * { margin-top: var(--space-md); }
}

.intro-style-3 .intro-sidebar,
.intro-style-3 .intro-panel {
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.intro-style-3 .intro-sidebar { background: var(--c-sand); }
.intro-style-3 .intro-panel   { background: var(--c-bg); }

.intro-style-3 .intro-heading,
.intro-style-3 .intro-aside-heading {

  margin: 0 0 var(--space-sm);
  padding: var(--space-xs) var(--space-md);
  font-family: var(--font-eyebrow);
  font-size: var(--text-md);
  line-height: 1.5em;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-text-muted);
}
@media (min-width: 1200px) {
  .intro-style-3 .intro-heading,
  .intro-style-3 .intro-aside-heading { padding-left: var(--space-lg); padding-right: var(--space-lg); }
}

.intro-style-3 .intro-aside { padding: var(--space-md); padding-top: 0; }
.intro-style-3 .intro-text  { padding: var(--space-md); padding-top: 0; }
@media (min-width: 1200px) {
  .intro-style-3 .intro-aside,
  .intro-style-3 .intro-text { padding-left: var(--space-lg); padding-right: var(--space-lg); padding-bottom: var(--space-lg); }
}

.intro-style-3 .intro-aside ul li { padding: var(--space-2xs) 0; border-color: rgba(255, 255, 255, .25); }

.intro-style-3 .intro-aside-cta {
  width: 100%;
  background-color: var(--c-navy);
  border-color: var(--c-navy);
  color: var(--c-text-invert);
}
.intro-style-3 .intro-aside-cta:hover,
.intro-style-3 .intro-aside-cta:focus {
  background-color: var(--c-navy-hover);
  border-color: var(--c-navy-hover);
  color: var(--c-text-invert);
}

.intro-style-4__row {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--space-md) * -1);
}
@media (min-width: 1200px) { .intro-style-4__row { margin-left: calc(var(--space-lg) * -1); } }
.intro-style-4__col {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--space-md);
}
@media (min-width: 1200px) { .intro-style-4__col { padding-left: var(--space-lg); } }
@media (min-width: 960px) { .intro-style-4__col { width: 50%; } }

.intro-style-4 .uk-padding { padding: var(--space-md); }
@media (min-width: 1200px) { .intro-style-4 .uk-padding { padding: var(--space-lg); } }

.intro-style-4__image img { display: block; width: 100%; height: auto; }

.intro-style-4__image img { object-fit: cover; height: auto; }
@media (min-width: 960px) {
  .intro-style-4__image--a img { aspect-ratio: 650 / 500; }
  .intro-style-4__image--b img { aspect-ratio: 600 / 750; }
}
@media (max-width: 959px) {
  .intro-style-4__image img { aspect-ratio: 1 / 1; }
}

@media (max-width: 959px) {
  .intro-style-4__row { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-lg); row-gap: 0; margin-left: 0; }
  .intro-style-4__col { display: contents; }
  .intro-style-4 .intro-fullwidth-image { order: 1; grid-column: 1 / 3; }
  .intro-style-4__col--text > .text-content { order: 2; grid-column: 1 / 3; }
  .intro-style-4__image--a { order: 3; }
  .intro-style-4__image--b { order: 4; }
  .intro-style-4__aside { order: 5; grid-column: 1 / 3; margin-top: var(--space-md); }
}

@media (min-width: 960px) { .intro-style-4__aside { margin-top: var(--space-sm); } }
@media (max-width: 959px) { .intro-style-4__aside > .text-content { padding-top: 0; } }

@media (min-width: 960px) {
  .intro-style-4 + .block-panel.offset-image-top { margin-top: 220px; }
}

@media (min-width: 960px)  { .block-intro.extra-padding { padding: var(--space-md) 0 0; } }
@media (min-width: 1200px) { .block-intro.extra-padding { padding: 50px 0 0; } }

.intro-fullwidth-image img { display: block; width: 100%; height: auto; }

.block-panel .panel-container { position: relative; }
.panel-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--panel-gutter) * -1);
  --panel-gutter: var(--space-xs);
}
.block-panel.panel .panel-row { --panel-gutter: 0px; }
.panel-gallery,
.panel-content {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--panel-gutter);
}
@media (min-width: 960px) {
  .panel-gallery { width: 60%; }
  .panel-content { width: 40%; }
}

@media (max-width: 959px) {
  .panel-row > * + * { margin-top: var(--panel-gutter); }
}

@media (min-width: 960px) {
  .block-panel.text-gallery .panel-gallery { order: 2; }
  .block-panel.text-gallery .panel-content { order: 1; }
}

.panel-gallery { position: relative; z-index: var(--z-base); }

.panel-gallery--shadow { box-shadow: var(--shadow-lg); }

.panel-pair {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-left: calc(var(--space-md) * -1);
}
@media (min-width: 1200px) { .panel-pair { margin-left: calc(var(--space-lg) * -1); } }
.panel-pair__item {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  width: 50%;
  padding-left: var(--space-md);
}
@media (min-width: 1200px) { .panel-pair__item { padding-left: var(--space-lg); } }
.panel-pair__item img { display: block; width: 100%; height: auto; object-fit: cover; }

.panel-pair__item--1 { order: 2; }
.panel-pair__item--2 { order: 1; }
@media (min-width: 960px) {
  .panel-pair__item--1 { width: 40%; }
  .panel-pair__item--2 { width: 60%; }
}

.panel-pair__item--1 img { aspect-ratio: 500 / 650; }
.panel-pair__item--2 img { aspect-ratio: 550 / 820; }
@media (max-width: 959px) {
  .panel-pair__item--2 img { aspect-ratio: 350 / 550; }
}

.panel-slideshow { position: relative; height: 100%; overflow: hidden; }
.panel-slideshow--auto { height: auto; aspect-ratio: 4 / 3; }

@media (max-width: 959px) {
  .panel-slideshow:not(.panel-slideshow--auto) { height: auto; aspect-ratio: 800 / 451; }
}
.panel-slides { position: relative; height: 100%; }
.panel-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur-slower) var(--ease);
}
.panel-slide.is-active { opacity: 1; visibility: visible; }
.panel-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

.block-panel.panel-image-native-ratio .panel-slideshow { height: auto; aspect-ratio: auto; }
.block-panel.panel-image-native-ratio .panel-slide img { height: auto; }

@media (min-width: 960px) {
  .block-panel.panel-fullwidth .panel-slideshow { width: calc(100% - var(--space-lg)); margin: auto; }
}

.panel-slidenav {
  position: absolute;
  bottom: 0;
  z-index: var(--z-raised);
  display: none;
  gap: 1px;
}
@media (min-width: 960px) { .panel-slidenav { display: flex; } }
.block-panel.text-gallery .panel-slidenav { right: 0; }
.block-panel.gallery-text .panel-slidenav { left: 0; }
.panel-slidenav__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: var(--c-overlay-dark);
  color: var(--c-text-invert);
  cursor: pointer;
  transition: background-color var(--dur-slow) var(--ease);
}
.panel-slidenav__arrow:hover { background: var(--c-sand); }

.panel-dots {
  position: absolute;
  bottom: var(--space-2xs);
  left: 0;
  right: 0;
  z-index: var(--z-raised);
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) { .panel-dots { display: none; } }
.panel-dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid var(--c-white-35);
  border-radius: var(--radius-circle);
  background: transparent;
  cursor: pointer;
}
.panel-dot.is-current { background: var(--c-text-invert); border-color: var(--c-text-invert); }

.panel-content { display: flex; }
.panel-content--top    { align-items: flex-start; }
.panel-content--middle { align-items: center; }
.panel-content--bottom { align-items: flex-end; }

.block-panel.offset-image-top .panel-content { justify-content: flex-end; }

.panel-content__inner {
  width: 100%;
  padding: var(--space-lg);
}
@media (min-width: 1200px) { .panel-content__inner { padding: var(--space-xl); } }
@media (max-width: 959px)  { .panel-content__inner { padding: var(--space-lg); } }
@media (max-width: 375px)  { .panel-content__inner { padding: var(--space-md); } }
.panel-content__inner > :last-child { margin-bottom: 0; }

.block-panel.panel-fullwidth .text-content a:not(.btn):not(.uk-button) {
  color: #333;
  font-weight: 700;
  text-decoration: underline;
}

@media (min-width: 960px) {
  .block-panel.offset-image-top { margin-top: 150px; }
  .block-panel.offset-image-top .panel-slideshow,
  .block-panel.offset-image-top .panel-pair { position: relative; margin-top: -150px; }
  .block-panel.offset-image-top .panel-content { position: relative; bottom: -30px; }

  .block-panel.offset-image-bottom { margin-bottom: 150px; }
  .block-panel.offset-image-bottom .panel-slideshow,
  .block-panel.offset-image-bottom .panel-pair { position: relative; margin-bottom: -150px; }
  .block-panel.offset-image-bottom .panel-content { position: relative; top: -30px; }
}

.block-panel.panel-popped .panel-content { width: 100%; }
@media (min-width: 960px) {
  .block-panel.panel-popped.popped-style-1 .panel-content { width: 60%; }
  .block-panel.panel-popped.popped-style-1:not(:last-child) { margin-bottom: -70px; }
  .block-panel.panel-popped.popped-style-1.text-gallery .panel-content { position: relative; margin-right: auto; left: -100px; }
  .block-panel.panel-popped.popped-style-1.gallery-text .panel-content { position: relative; margin-left: auto; right: -100px; }
}
.block-panel.popped-style-2 .text-content-background { padding: var(--space-md) var(--space-lg); }
@media (min-width: 1200px) { .block-panel.popped-style-2 .text-content-background { padding: var(--space-md) var(--space-lg); } }

@media (max-width: 959px) {
  .block-panel.panel-fullwidth { margin-top: 80px; margin-bottom: 80px; }
}

.block-panel.has-background { background-repeat: no-repeat; }

.block-cards > .cards-ground,
.block-cards_filtered > .cards-ground {
  position: absolute;
  inset: 0;
  z-index: var(--z-below);
  pointer-events: none;
}

.cards-header {
  position: relative;
  margin-bottom: var(--space-lg);
}

.cards-header > p:last-child { margin-bottom: 0; }

.cards-header > :last-child .btn,
.cards-header > :last-child .uk-button { margin-top: var(--space-sm); margin-bottom: var(--space-lg); }

.cards-content { position: relative; }

.cards-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 calc(var(--space-md) * -1);
  padding: 0;
  list-style: none;
  row-gap: var(--space-md);
}
.cards-row > * {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--space-md);

  display: flex;
}
@media (min-width: 640px) {
  .cards-row > * { width: 50%; }
}
@media (min-width: 1200px) {
  .cards-row { margin-left: calc(var(--space-lg) * -1); row-gap: var(--space-lg); }
  .cards-row > * { padding-left: var(--space-lg); }
  .cards-row--2 > * { width: 50%; }
  .cards-row--3 > * { width: calc(100% / 3); }
  .cards-row--4 > * { width: 25%; }
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: var(--c-bg);
  color: var(--c-text);
  box-shadow: var(--shadow-md);
  transition: box-shadow var(--dur-fast) var(--ease);
}

.card__media {
  position: relative;
  aspect-ratio: var(--card-ratio, 4 / 3);
  overflow: hidden;
  flex: none;
}
.card__slides { position: absolute; inset: 0; }
.card__slide  { position: absolute; inset: 0; display: none; }
.card__slide.is-active { display: block; }
.card__image  { display: block; width: 100%; height: 100%; object-fit: cover; }

.card__slidenav { position: absolute; inset: 0; pointer-events: none; }
.card__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  cursor: pointer;
  pointer-events: auto;
  background-color: var(--c-overlay-dark);
  color: var(--c-white-70);
  transition: color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);
}
.card__arrow:hover { color: var(--c-text-invert); }
.card__arrow--prev { left: var(--space-xs); }
.card__arrow--next { right: var(--space-xs); }

.card__arrow:focus-visible {
  outline: 4px solid var(--c-text-invert);
  outline-offset: -8px;
  box-shadow: 0 0 0 4px rgba(0, 0, 0, .9);
}

.card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-md);
}
@media (min-width: 1200px) {
  .card__body { padding: var(--space-lg); }
}
.card__body > :last-child { margin-bottom: 0; }

.card-tags + .card-main-text { margin-top: var(--space-sm); }

.card-main-text { margin-bottom: auto; }
.card__link { margin-bottom: 0; }
.card__link .btn { margin-top: var(--space-sm); }

.block-cards .card .text-content hr {
  width: 150px;
  margin: 0 auto;
  border: 0;
  border-top: 2px solid var(--c-sand);
}

.card-tags {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-xs);
  line-height: var(--lh-body);
  color: var(--c-text);
}
.card-tags .icon { width: 16px; height: 16px; margin-right: 3px; }
.card-tags ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.card-tags li { text-transform: uppercase; }
.card-tags li:not(:last-child) { margin-right: 3px; }
.card-tags li:not(:last-child)::after { content: ","; }

.cards-slider { position: relative; }

.cards-slider__track {
  display: flex;
  margin-left: calc(var(--space-md) * -1);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;

  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cards-slider__track::-webkit-scrollbar { display: none; }
@media (prefers-reduced-motion: reduce) {
  .cards-slider__track { scroll-behavior: auto; }
}
.cards-slider__track:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }

.cards-slider__item {
  box-sizing: border-box;
  flex: none;
  width: 80%;
  padding-left: var(--space-md);
  scroll-snap-align: start;
  display: flex;
}
@media (max-width: 959px) {

  .cards-slider__track { margin-left: calc(var(--space-xs) * -1); }
  .cards-slider__item  { padding-left: var(--space-xs); }

  .cards-content--slider { padding-right: 0; }
}
@media (min-width: 960px) {
  .cards-slider__item { width: 50%; }
}
@media (min-width: 1200px) {
  .cards-slider__track { margin-left: calc(var(--space-lg) * -1); }
  .cards-slider__item  { padding-left: var(--space-lg); width: calc(100% / 3); }
}

.cards-slider__nav { display: none; }
@media (min-width: 960px) {
  .cards-slider__nav { display: block; }
}
.cards-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: rgba(68, 68, 68, .5);
  transition: color var(--dur-fast) var(--ease);
}
.cards-slider__arrow:hover { color: rgba(68, 68, 68, .9); }
.cards-slider__arrow:focus-visible { outline: var(--focus-ring); }
.cards-slider__arrow--prev { right: 100%; }
.cards-slider__arrow--next { left: 100%; }

.cards-slider__dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2xs);

  margin: var(--space-sm) 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .cards-slider__dots { display: none; }
}
.cards-slider__dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid rgba(68, 68, 68, .4);
  border-radius: var(--radius-circle);
  background: #8d8d8d;
  cursor: pointer;
  transition: background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
}
.cards-slider__dot:hover,
.cards-slider__dot.is-current { background-color: var(--c-sand); border-color: transparent; }
.cards-slider__dot:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }

.cards-filter__bar {
  margin-top: var(--space-sm);
  margin-bottom: var(--space-lg);
}

.cards-filter__form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.cards-filter__pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 calc(var(--space-sm) * -1);
  padding: 0;
  list-style: none;
  gap: var(--space-2xs) 0;
}
.cards-filter__pills > * { padding-left: var(--space-sm); }

.cards-filter__bar .cards-filter__pills { gap: 25px 0; }

.cards-filter__pill {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-size: .85rem;
  line-height: var(--lh-body);
  text-transform: uppercase;
  color: var(--c-text);
}

.cards-filter__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.cards-filter__pill .label-text {
  position: relative;
  display: inline-block;
  padding: var(--space-3xs) var(--space-2xs);
  border: 1px solid darkgrey;
  border-radius: var(--radius-sm);
  transition: background-color var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}

.cards-filter__pill:hover .label-text { background: var(--c-bg-hover); }

.cards-filter__input:checked + .label-text {
  background-color: var(--c-sand);
  color: var(--c-text-invert);
  border-color: var(--c-sand);
}
.cards-filter__input:focus-visible + .label-text { outline: var(--focus-ring); outline-offset: 2px; }

.cards-filter__input:disabled + .label-text { background: var(--c-line); }

.cards-filter__submit { margin: var(--space-sm) 0 0; text-align: center; }
[x-cloak] { display: none !important; }

.cards-filter__count {
  margin: var(--space-sm) 0 0;
  font-size: var(--text-sm);
  line-height: var(--lh-snug);
  color: var(--c-text);
  text-align: center;
}

.cards-filter__empty {
  margin: var(--space-lg) 0 0;
  text-align: center;
  color: var(--c-text);
}

.cards-grid__card { overflow: hidden; }
.cards-grid__link { display: block; color: inherit; text-decoration: none; }

.cards-grid .main-image-container {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  transition: min-height var(--dur-slower) cubic-bezier(.02, .9, .58, 1);
}
.cards-grid__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.cards-grid .main-image-container .cards-grid__image { position: absolute; inset: 0; }

.cards-grid .card-category {
  position: absolute;
  top: var(--space-sm);
  padding: var(--space-3xs) var(--space-2xs);
  background: var(--c-sand-hover);
  color: var(--c-text-invert);
  font-size: var(--text-xs);
  text-transform: uppercase;
}

.cards-grid__body { padding: var(--space-md); }
@media (min-width: 1200px) { .cards-grid__body { padding: var(--space-lg); } }

.cards-grid .title-container { position: relative; padding-right: var(--space-md); }
.cards-grid .title-container h3 { margin-bottom: 0; }
.cards-grid__chevron {
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateX(-10px) translateY(-50%);
}

@media (min-width: 960px) {

  .cards-grid__chevron {
    opacity: 0;
    transform: translateY(-50%) translateX(-20px);
    transition: all var(--dur-slower) cubic-bezier(.02, .9, .58, 1);
  }
  .cards-grid .text-container {
    min-height: 0;
    height: auto;
    max-height: 0;
    overflow: hidden;
    transition: all var(--dur-slower) cubic-bezier(.02, .9, .58, 1);
  }
  .cards-grid .text-container p { opacity: 0; transform: translateY(-10px); }

  .cards-grid__card:hover .cards-grid__chevron,
  .cards-grid__card:focus-within .cards-grid__chevron {
    opacity: 1;
    transform: translateX(0) translateY(-50%);
  }
  .cards-grid__card:hover .text-container,
  .cards-grid__card:focus-within .text-container { min-height: 115px; max-height: 40em; }
  .cards-grid__card:hover .text-container p,
  .cards-grid__card:focus-within .text-container p {
    opacity: 1;
    transform: translateY(0);
    transition: all var(--dur-slow) var(--ease) 0.1s;
  }
  .cards-grid__card:hover .main-image-container,
  .cards-grid__card:focus-within .main-image-container { min-height: 185px; }

  @media (prefers-reduced-motion: reduce) {
    .cards-grid__chevron { opacity: 1; transform: translateY(-50%); transition: none; }
    .cards-grid .text-container { max-height: none; transition: none; }
    .cards-grid .text-container p { opacity: 1; transform: none; }
    .cards-grid .main-image-container { transition: none; }
  }
}

@media (min-width: 960px) {
  .block-cards_background { margin-top: 250px !important; }
}

.cards-background-texture {
  position: absolute;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-size: cover;
  background-position: center;
  z-index: var(--z-below);
}

@media (min-width: 960px) {
  .cards-bg-slider { position: relative; transform: translateX(1px); margin-top: -50px; }
}

.block-cards_background .cards-slider__arrow {
  border: 1px solid var(--c-text-invert);
  border-radius: var(--radius-circle);
  color: var(--c-text-invert);
  z-index: var(--z-base);
}
.block-cards_background .cards-slider__arrow:hover {
  background-color: var(--c-text-invert);
  color: var(--c-black);
}

@media (min-width: 960px) {
  .cards-slider__item.outlets-slider-item { width: 35%; }
  .outlets-slider-overflow .cards-slider__item.outlets-slider-item { width: 25%; }
}
@media (min-width: 1200px) {
  .cards-slider__item.outlets-slider-item { width: 24%; }
}

.outlet { display: flex; flex-direction: column; height: 100%; }
.outlet__media { position: relative; }
.outlet__image { display: block; width: 100%; height: auto; }
.outlet__body { padding-top: var(--space-sm); }
.outlet__link { margin-bottom: 0; }

.block-outlets .text-content ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) li {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
  line-height: 1.5em;
}

.outlets-slider__nav { position: absolute; top: 0; left: 0; right: 0; }
.outlets-slider__nav .cards-slider__arrow { top: 50%; }
@supports (height: 1px) {
  .block-outlets .cards-slider { position: relative; }
}

.cards--image-contain .card__media {
  background: #f5f5f5;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, .08);
}
.cards--image-contain .card__image { object-fit: contain; object-position: center; }

.cards--image-none .card__media { display: none; }

.card-overlay {
  background: linear-gradient(206deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .11) 40%,
                              rgba(0, 0, 0, .6) 80%, rgba(0, 0, 0, .85) 100%);
}

.gallery-strip { position: relative; }

.gallery-strip__track {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.gallery-strip__track::-webkit-scrollbar { display: none; }
@media (prefers-reduced-motion: reduce) {
  .gallery-strip__track { scroll-behavior: auto; }
}
.gallery-strip__track:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }

.gallery-strip__item {
  flex: none;
  width: 100%;
  scroll-snap-align: start;
}
@media (min-width: 640px) {
  .gallery-strip__item { width: 50%; }
}
@media (min-width: 960px) {
  .gallery-strip__track--2 > .gallery-strip__item { width: 50%; }
  .gallery-strip__track--3 > .gallery-strip__item { width: calc(100% / 3); }
  .gallery-strip__track--4 > .gallery-strip__item { width: 25%; }
}

.gallery-strip__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--c-white-70);
  transition: color var(--dur-fast) var(--ease);
}
.gallery-strip__arrow:hover { color: var(--c-text-invert); }
.gallery-strip__arrow--prev { left: var(--space-xs); }
.gallery-strip__arrow--next { right: var(--space-xs); }
.gallery-strip__arrow:focus-visible {
  outline: 4px solid var(--c-text-invert);
  outline-offset: -8px;
  box-shadow: 0 0 0 4px rgba(0, 0, 0, .9);
}

.gallery-filter .cards-filter__form { margin-bottom: var(--space-sm); }

.gallery-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 calc(var(--space-xs) * -1);
  padding: 0;
  list-style: none;
  row-gap: var(--space-xs);
}
.gallery-grid > li {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--space-xs);
}
@media (min-width: 960px) {
  .gallery-grid--2 > li { width: 50%; }
  .gallery-grid--3 > li { width: calc(100% / 3); }
  .gallery-grid--4 > li { width: 25%; }
}

.gallery-plain {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 0 calc(var(--space-xs) * -1);
  padding: 0;
  list-style: none;
  row-gap: var(--space-xs);
}
.gallery-plain > li {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--space-xs);
}
@media (min-width: 640px) {
  .gallery-plain > li { width: 50%; }
}
@media (min-width: 960px) {
  .gallery-plain--2 > li { width: 50%; }
  .gallery-plain--3 > li { width: calc(100% / 3); }
  .gallery-plain--4 > li { width: 25%; }
}
.gallery-plain .gallery-item__frame { aspect-ratio: 4 / 3; }
@media (min-width: 640px) {
  .gallery-plain .gallery-item__frame { aspect-ratio: 1 / 1; }
}

.gallery-item {
  display: block;
  position: relative;
  text-decoration: none;
}
.gallery-item__frame {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-color: var(--c-sand);
}
.gallery-grid .gallery-item__frame { aspect-ratio: 640 / 360; }
@media (min-width: 960px) {
  .gallery-grid .gallery-item__frame { aspect-ratio: 1 / 1; }
}
.gallery-item__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery--zoom .gallery-item__image {
  transition: transform var(--dur-slow) var(--ease-out);
}
.gallery--zoom .gallery-item:hover .gallery-item__image,
.gallery--zoom .gallery-item:focus-visible .gallery-item__image {
  transform: scale(1.03);
}
@media (prefers-reduced-motion: reduce) {
  .gallery--zoom .gallery-item__image { transition: none; }
  .gallery--zoom .gallery-item:hover .gallery-item__image,
  .gallery--zoom .gallery-item:focus-visible .gallery-item__image { transform: none; }
}

.gallery-item:has(.gallery-item__frame):focus-visible { outline: none; }
.gallery-item:focus-visible .gallery-item__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 5px solid var(--c-sand);
  pointer-events: none;
}

.gallery-preview__inner { margin-bottom: var(--space-lg); }
@media (min-width: 1200px) {
  .gallery-preview__inner { margin-bottom: var(--space-xl); }
}

.gallery-preview__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: calc(var(--space-md) * -1);

  row-gap: var(--space-md);
}
.gallery-preview__row > * {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--space-md);
}
@media (min-width: 960px) {
  .gallery-preview__row > * { width: 50%; }
}
@media (min-width: 1200px) {
  .gallery-preview__row { margin-left: calc(var(--space-lg) * -1); row-gap: var(--space-lg); }
  .gallery-preview__row > * { padding-left: var(--space-lg); }
}

@media (min-width: 960px) {
  .gallery-preview__row--gallery-text .gallery-preview__media { order: -1; }
}

.gallery-preview__pad { padding: var(--space-md); }
@media (min-width: 1200px) {
  .gallery-preview__pad { padding: var(--space-lg); }
}
@media (max-width: 959px) {
  .gallery-preview__pad { padding: var(--space-xs); }
}

.gallery-preview__media { position: relative; }
.thumbs-wrapper { position: relative; }

.block-gallery_preview { overflow: visible; }
@media (max-width: 959px) {
  .block-gallery_preview { overflow: hidden; }
}

.thumb { position: relative; z-index: var(--z-base); }

.thumb:first-child  { width: 70%; margin-left: auto; right: 20%;  top: 40px; }

.thumb:nth-child(2) { width: 50%; margin-left: auto; right: -4%;  top: -30px; }

@media (max-width: 959px) {

  .thumb:first-child  { top: auto; right: auto; left: 0; margin-left: 0; }
  .thumb:nth-child(2) { top: -60px; right: auto; margin-right: 0; }

  .gallery-preview__row--gallery-text .thumb:first-child  { margin-left: auto; margin-right: 0; left: auto; right: 0; }
  .gallery-preview__row--gallery-text .thumb:nth-child(2) { margin-left: 0; margin-right: auto; left: 0; right: auto; }
}
@media (min-width: 960px) {

  .gallery-preview__row--gallery-text .thumbs-wrapper { transform: translateX(-10%); }
}

.gallery-preview__frame { aspect-ratio: 1 / 1; }

.circle {
  position: absolute;
  width: 430px;
  height: 430px;
  top: 60%;
  left: 55%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 959px) {
  .circle { width: 280px; height: 280px; }
  .gallery-preview__row--gallery-text .circle { left: 45%; }
}
.circle svg { display: block; width: 100%; height: 100%; }
.circle svg circle { fill: transparent; stroke-width: 5px; stroke: var(--c-sand); }

.mosaic-images {
  display: grid;
  height: 800px;
  grid-template-columns: repeat(13, 1fr);
  grid-template-rows: repeat(9, 1fr);
  gap: var(--space-xs);
  width: 100%;
}

.mosaic-item { position: relative; min-width: 0; min-height: 0; }
.mosaic-item__link { display: block; height: 100%; }

.mosaic-item__frame { height: 100%; aspect-ratio: auto; }

.mosaic--style-1 .mosaic-images > *:nth-child(1) { grid-column: 1 / 6;  grid-row: 1 / 5; }
.mosaic--style-1 .mosaic-images > *:nth-child(2) { grid-column: 6 / 11; grid-row: 1 / 5; }
.mosaic--style-1 .mosaic-images > *:nth-child(3) { grid-column: 1 / 5;  grid-row: 5 / 10; }
.mosaic--style-1 .mosaic-images > *:nth-child(4) { grid-column: 5 / 8;  grid-row: 5 / 10; }
.mosaic--style-1 .mosaic-images > *:nth-child(5) { grid-column: 8 / 11; grid-row: 5 / 10; }
.mosaic--style-1 .mosaic-images > *:nth-child(6) { grid-column: 11 / 14; grid-row: 1 / 10; }

.mosaic--style-1 .mosaic-item { background-color: var(--c-sand); }

@media (max-width: 959px) {
  .mosaic--style-1 .mosaic-images { height: 640px; grid-template-rows: repeat(6, 1fr); }
  .mosaic--style-1 .mosaic-images > *:nth-child(1) { grid-column: 1 / 7;  grid-row: 1 / 3; }
  .mosaic--style-1 .mosaic-images > *:nth-child(2) { grid-column: 7 / 13; grid-row: 1 / 3; }
  .mosaic--style-1 .mosaic-images > *:nth-child(3) { grid-column: 2 / 8;  grid-row: 3 / 5; }
  .mosaic--style-1 .mosaic-images > *:nth-child(4) { grid-column: 8 / 14; grid-row: 3 / 5; }
  .mosaic--style-1 .mosaic-images > *:nth-child(5) { grid-column: 1 / 6;  grid-row: 5 / 7; }
  .mosaic--style-1 .mosaic-images > *:nth-child(6) { grid-column: 6 / 14; grid-row: 5 / 7; }
}

.mosaic--style-2 .mosaic-wrapper-grid {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs);
}
.mosaic--style-2 .mosaic-images { min-width: 0; }

.mosaic--style-2 .mosaic-right {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xs);
  min-width: 0;
}

.mosaic--style-2 .mosaic-text {
  display: flex;
  align-items: center;
  padding: var(--space-lg) var(--space-lg) 0;
}
@media (min-width: 1200px) {
  .mosaic--style-2 .mosaic-text { padding: var(--space-xl) var(--space-xl) 0; }
}
@media (max-width: 375px) {
  .mosaic--style-2 .mosaic-text { padding: var(--space-md) var(--space-md) 0; }
}
@media (max-width: 959px) {

  .mosaic--style-2 .mosaic-text { display: block; padding: 0; }
}
.mosaic--style-2 .mosaic-last { min-height: 0; }

.mosaic-last .gallery-item__frame { height: auto; aspect-ratio: auto; }
.mosaic-last .gallery-item__image { height: auto; }

.mosaic--style-2 .mosaic-images { grid-template-columns: repeat(7, 1fr); }
.mosaic--style-2 .mosaic-images > *:nth-child(1) { grid-column: 1 / 5; grid-row: 1 / 4; }
.mosaic--style-2 .mosaic-images > *:nth-child(2) { grid-column: 5 / 7; grid-row: 1 / 4; }
.mosaic--style-2 .mosaic-images > *:nth-child(3) { grid-column: 4 / 8; grid-row: 4 / 11; }
.mosaic--style-2 .mosaic-images > *:nth-child(4) { display: none; }
.mosaic--style-2 .mosaic-images > *:nth-child(n+5) { display: none; }

@media (min-width: 960px) {

  .mosaic--style-2 .mosaic-images { grid-column: 1; grid-row: 1; }
  .mosaic--style-2 .mosaic-right  { grid-column: 2; grid-row: 1; }
}

@media (max-width: 959px) {

  .mosaic--style-2 .mosaic-wrapper-grid { grid-template-columns: 1fr; row-gap: var(--space-sm); }
  .mosaic--style-2 .mosaic-right  { order: -1; display: block; }
  .mosaic--style-2 .mosaic-last   { display: none; }

  .mosaic--style-2 .mosaic-images {
    height: 640px;
    grid-template-columns: repeat(13, 1fr);
    grid-template-rows: repeat(6, 1fr);
  }
  .mosaic--style-2 .mosaic-images > *:nth-child(1) { grid-column: 1 / 12; grid-row: 1 / 3; }
  .mosaic--style-2 .mosaic-images > *:nth-child(2) { grid-column: 2 / 8;  grid-row: 3 / 5; }
  .mosaic--style-2 .mosaic-images > *:nth-child(3) { grid-column: 8 / 14; grid-row: 3 / 5; }
  .mosaic--style-2 .mosaic-images > *:nth-child(4) { grid-column: 1 / 14; grid-row: 5 / 14; display: block; }
}

.mosaic--style-3 .mosaic-images {
  grid-template-columns: repeat(21, 1fr);
  grid-template-rows: repeat(18, 1fr);
}
.mosaic--style-3 .mosaic-images > *:nth-child(1) { grid-column: 14 / 21; grid-row: 1 / 10; }
.mosaic--style-3 .mosaic-images > *:nth-child(2) { grid-column: 4 / 9;   grid-row: 6 / 13; z-index: 2; }
.mosaic--style-3 .mosaic-images > *:nth-child(3) { grid-column: 8 / 14;  grid-row: 1 / 13; z-index: 1; }
.mosaic--style-3 .mosaic-images > *:nth-child(4) { grid-column: 12 / 19; grid-row: 11 / 16; z-index: 0; }
.mosaic--style-3 .mosaic-images > *:nth-child(5) { grid-column: 8 / 13;  grid-row: 12 / 19; z-index: 3; }
@media (max-width: 959px) {
  .mosaic--style-3 .mosaic-images {
    height: 500px;
    grid-template-columns: repeat(13, 1fr);
    grid-template-rows: repeat(8, 1fr);
  }
  .mosaic--style-3 .mosaic-images > *:nth-child(1) { grid-column: 6 / 15; grid-row: 1; }
  .mosaic--style-3 .mosaic-images > *:nth-child(2) { grid-column: 1 / 8;  grid-row: 2 / 6; }
  .mosaic--style-3 .mosaic-images > *:nth-child(3) { grid-column: 2 / 9;  grid-row: 6 / 10; }
  .mosaic--style-3 .mosaic-images > *:nth-child(4) { grid-column: 8 / 14; grid-row: 1 / 5; }
  .mosaic--style-3 .mosaic-images > *:nth-child(5) { grid-column: 9 / 13; grid-row: 5 / 8; z-index: 3; }
}

.mosaic-text .btn:not(.btn-link),
.mosaic-heading .btn:not(.btn-link),
.mosaic-text .uk-button:not(.uk-button-link),
.mosaic-heading .uk-button:not(.uk-button-link) { margin-top: 0; }

.mosaic-heading { margin-bottom: var(--space-sm); }

.lightbox {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox__scrim {
  position: absolute;
  inset: 0;
  background: #000;
}

.lightbox__dialog {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: var(--space-xl) var(--space-lg);
  color: var(--c-white-70);
}
@media (max-width: 639px) {
  .lightbox__dialog { padding: var(--space-xl) var(--space-xs); }
}

.lightbox__figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  max-width: 100%;
  max-height: 100%;
}
.lightbox__image {
  display: block;
  max-width: 100%;

  max-height: 70vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.lightbox__caption {
  font-size: var(--text-sm);
  line-height: var(--lh-snug);
  text-align: center;
  max-width: 60ch;
}
.lightbox__position { display: block; margin-top: var(--space-3xs); color: var(--c-white-50); }

.lightbox__close,
.lightbox__arrow {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: rgba(0, 0, 0, .3);
  color: var(--c-white-70);
  transition: color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);
}
.lightbox__close:hover,
.lightbox__arrow:hover { color: var(--c-text-invert); background: rgba(0, 0, 0, .6); }
.lightbox__close:focus-visible,
.lightbox__arrow:focus-visible {
  outline: 4px solid var(--c-text-invert);
  outline-offset: -8px;
}
.lightbox__close { top: var(--space-xs); right: var(--space-xs); }
.lightbox__arrow { top: 50%; transform: translateY(-50%); }
.lightbox__arrow--prev { left: var(--space-xs); }
.lightbox__arrow--next { right: var(--space-xs); }

.reveal-pending { opacity: 0; }

.is-revealed {
  animation-name: reveal-fade, reveal-rise;
  animation-duration: 2s;
  animation-timing-function: cubic-bezier(.15, .82, .43, 1);
  animation-fill-mode: both;
}
.is-revealed--fade { animation-name: reveal-fade; }

@keyframes reveal-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes reveal-rise { from { transform: translateY(10px); } to { transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  .reveal-pending { opacity: 1 !important; }
}

[data-parallax] { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
  [data-parallax] { transform: none !important; }
}

.testimonials__track,
.slider__track,
.logos__track {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.testimonials__track::-webkit-scrollbar,
.slider__track::-webkit-scrollbar,
.logos__track::-webkit-scrollbar { display: none; }
.testimonials__track > *,
.slider__track > *,
.logos__track > * { flex: none; scroll-snap-align: start; }
.testimonials__track:focus-visible,
.slider__track:focus-visible,
.logos__track:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .testimonials__track,
  .slider__track,
  .logos__track { scroll-behavior: auto; }
}

.nav-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #d2d2d2;
  border-radius: var(--radius-circle);
  background: none;
  color: #333;
  cursor: pointer;
  transition: color var(--dur-slow) var(--ease), border-color var(--dur-slow) var(--ease);
}
.nav-arrow:hover { color: var(--c-sand); border-color: #797979; }
.nav-arrow:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.nav-arrow[disabled] { opacity: .4; cursor: default; }

html:not(.js) :is(.slideshow-nav-overlay, .slideshow__dots, .slideshow-small__controls,
                  .slider-controls, .featured-tabs__dots, .dotnav-wrapper,
                  .testimonials__dots, .logos__arrow, .logos__pause,
                  .uk-slidenav, .progress) { display: none; }

.testimonials__dots,
.slideshow__dots,
.featured-tabs__dots {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 -12px;
  padding: 0;
  list-style: none;
}
.testimonials__dots > *,
.slideshow__dots > *,
.featured-tabs__dots > * { flex: none; padding-left: 12px; }
.testimonials__dot,
.slideshow__dot,
.featured-tabs__dot {
  display: block;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid rgba(68, 68, 68, .4);
  border-radius: var(--radius-circle);
  background: #8d8d8d;
  cursor: pointer;
  transition: background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
}
.testimonials__dot:hover, .testimonials__dot.is-current,
.slideshow__dot:hover, .slideshow__dot.is-current,
.featured-tabs__dot:hover, .featured-tabs__dot.is-current {
  background-color: var(--c-sand);
  border-color: transparent;
}
.testimonials__dot:focus-visible,
.slideshow__dot:focus-visible,
.featured-tabs__dot:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }

.accordion__panel {
  background-color: var(--c-bg);
  padding: var(--space-md);
}
@media (min-width: 1200px) {
  .accordion__panel { padding: var(--space-lg); }
}

.accordion__head { margin-bottom: var(--space-sm); }
.accordion__head > :last-child { margin-bottom: 0; }

.accordion__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.accordion__list > :nth-child(n + 2) {
  margin-top: var(--space-sm);
  padding-top: var(--space-2xs);
  border-top: 1px solid var(--c-line);
}

.accordion__title {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  -webkit-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: 1.25rem;
  font-weight: inherit;
  line-height: var(--lh-snug);
  color: var(--c-text-strong);
  text-align: left;
  overflow: hidden;
  cursor: pointer;
}
.accordion__title:hover { color: var(--c-text); }
.accordion__title:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.accordion__title::before {
  content: "";
  width: 1.4em;
  height: 1.4em;
  margin-left: var(--space-2xs);
  float: right;
  background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23444444%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23444444%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E);
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.accordion__title[aria-expanded="true"]::before {
  background-image: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23444444%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E);
}

.accordion__content {
  display: flow-root;
  margin-top: var(--space-sm);
}
.accordion__content > :last-child { margin-bottom: 0; }

.js .accordion__content { display: none; }
.js .accordion__content.is-open { display: flow-root; }

.tabs-container { background: var(--c-bg); }
@media (max-width: 959px) {
  .tabs-container { padding-top: var(--space-sm); }
}
.tabs-container.intro-tabs { border: 2px solid var(--c-sand); border-top: 0; }

.tabs__mobile {
  position: sticky;
  top: 50px;
  z-index: var(--z-raised);
}
.tabs__switcher {

  display: flow-root;
  background: var(--c-bg);
  text-align: center;
}
@media (min-width: 960px) {
  .tabs__mobile { display: none; }
}

.tabs__switcher-label {
  display: block;
  margin: 0 0 var(--space-2xs);
  font-family: var(--font-heading);
  font-size: var(--text-md);
  font-weight: 700;
  line-height: var(--lh-snug);
  color: var(--c-navy);
  text-transform: uppercase;
}

.tabs__switcher-field { padding: 0 var(--space-xs) var(--space-xs); }

.tabs__select { width: 83.333%; display: inline-block; }

.tabs__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
.tabs__nav::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: var(--space-sm);
  right: 0;
  border-bottom: 1px solid var(--c-line);
}
.tabs__nav-item { flex: none; padding-left: var(--space-sm); position: relative; }
.tabs__tab {
  display: flex;
  align-items: center;
  column-gap: .25em;
  justify-content: center;
  padding: var(--space-2xs) var(--space-md);
  color: var(--c-text);
  border-bottom: 1px solid transparent;
  font-size: var(--text-sm);
  text-transform: uppercase;
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease);
}
.tabs__tab:hover { color: var(--c-sand); text-decoration: none; }
.tabs__nav-item.is-active > .tabs__tab { color: var(--c-sand); border-color: var(--c-sand); }
.tabs__tab:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }

@media (max-width: 959px) {
  .tabs__nav { display: none; }
}

.tabs__panels { margin: 0; padding: 0; }
.tabs__panel > :last-child { margin-bottom: 0; }
.tabs__panel:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.js .tabs__panel { display: none; }
.js .tabs__panel.is-current { display: block; }

.tabs__media { position: relative; }
.tabs__media > a { display: block; }

.tabs__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.tabs__body { display: flex; align-items: center; }
.tabs__text { box-sizing: border-box; width: 100%; padding: var(--space-lg) var(--space-lg) 0; }
@media (min-width: 1200px) {
  .tabs__text { padding: var(--space-xl) var(--space-xl) 0; }
}
@media (max-width: 375px) {
  .tabs__text { padding: var(--space-md) var(--space-md) 0; }
}

.block-featured_tabs > .container { padding-left: 0; padding-right: 0; }
* + .block-featured_tabs.block-flush + .block-featured_tabs.block-flush,
.block-featured_tabs + .block-featured_tabs { margin-top: calc(var(--space-lg) * -1) !important; }
@media (min-width: 1200px) {
  * + .block-featured_tabs.block-flush + .block-featured_tabs.block-flush,
  .block-featured_tabs + .block-featured_tabs { margin-top: calc(var(--space-xl) * -1) !important; }
}

.featured-tabs { position: relative; }
.featured-tabs--text-gallery {
  background: linear-gradient(136deg, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, .4) 100%);
}

.featured-tabs__head { margin-bottom: var(--space-lg); }

.featured-tabs__nav {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  scrollbar-width: none;
}
.featured-tabs__nav::-webkit-scrollbar { display: none; }
.featured-tabs__nav::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid lightgrey;
}
.featured-tabs__nav-item { flex: none; padding: 0; border-left: 0; }
.hook-tab-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-2xs) var(--space-md);
  border: 1px solid lightgrey;
  letter-spacing: .09em;
  font-size: var(--text-sm);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--c-text);
  transition: color var(--dur-slow) var(--ease);
}
.hook-tab-item::before {
  content: "";
  position: absolute;
  top: -1px; bottom: -1px; left: -1px; right: -1px;
  background-color: var(--c-navy);
  opacity: 0;
  transition: opacity var(--dur-slow) var(--ease);
  z-index: var(--z-below);
}
.hook-tab-item-active { color: var(--c-text-invert); }
.hook-tab-item-active::before { opacity: 1; }
.hook-tab-item:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.js .featured-tabs__panel { display: none; }
.js .featured-tabs__panel.is-current { display: block; }
.featured-tabs__panel:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

@media (min-width: 960px) {
  .featured-tabs__panel { display: grid; grid-template-columns: 1fr 1fr; }
  .js .featured-tabs__panel.is-current { display: grid; }
  .featured-tabs--text-gallery .featured-tabs__text  { order: 1; }
  .featured-tabs--text-gallery .featured-tabs__media { order: 2; }
  .featured-tabs--gallery-text .featured-tabs__text  { order: 2; }
  .featured-tabs--gallery-text .featured-tabs__media { order: 1; }
}

.featured-tabs__text .text-content { padding: 12% 20% 18%; }
.featured-tabs__text .text-content h4:first-child { margin-bottom: var(--space-lg); }
@media (max-width: 959px) {
  .featured-tabs__text .text-content { padding: var(--space-md); }
}

.featured-tabs__media { position: relative; }
.featured-tabs__stage { position: relative; height: 100%; }
.featured-tabs__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(218deg, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, .4) 100%);
  pointer-events: none;
  z-index: var(--z-base);
}
.featured-tabs__slide { height: 100%; }
.js .featured-tabs__slide { display: none; }
.js .featured-tabs__slide.is-current { display: block; }
.featured-tabs__image { display: block; width: 100%; height: 100%; object-fit: cover; }

.dotnav-wrapper {
  position: absolute;
  bottom: var(--space-sm);
  left: 50%;
  transform: translateX(-50%);
  z-index: var(--z-base);
}
@media (min-width: 959px) {
  .dotnav-wrapper { left: 0; right: auto; transform: none; margin: var(--space-sm); }
  .featured-tabs--text-gallery .dotnav-wrapper { right: 0; left: auto; transform: none; }
}

.slider { position: relative; }

.slider .slide-content-wrapper { transition: 400ms var(--ease-out) 300ms; }

.slider-intro { margin-bottom: var(--space-lg); }

.slider--1 { overflow: hidden; }

.slider-background-texture {
  position: absolute;
  bottom: 50px;
  top: -10px;
  right: 0;
  left: 10%;
  background-size: cover;
  background-position: center;
  z-index: var(--z-below);
}
.slider-background-texture::after {
  content: "";
  bottom: 0; top: 0; right: 0; left: 50%;
  background: linear-gradient(80deg, rgba(255, 255, 255, 0) 0%, #ffffff 54%);
}

@media (min-width: 960px) {
  .slider--1 .slider__slide { width: 95%; }
  .slider--1 .slider__caption { position: relative; left: -30px; }
}
.slider--1 .slider__caption .text-content h4 { letter-spacing: .2em; }

.slider--1 .slide-content-wrapper { opacity: .5; }
.slider--1 .slide-content-wrapper img { clip-path: inset(3% 0%); transition: clip-path 1s var(--ease); }
.slider--1 .slider__slide.is-current .slide-content-wrapper { opacity: 1; }
.slider--1 .slider__slide.is-current .slide-content-wrapper img { clip-path: inset(0% 0%); }

.slider--1 .slider-toggle { padding: var(--space-2xs) var(--space-sm); }
.slider--1 .slider-toggle:hover,
.slider--1 .slider-toggle:focus,
.slider--1 .slider-toggle.active { color: var(--c-sand); }

.slider--2 .slider__slide { display: flex; align-items: flex-end; }
.slider--2 .slider__caption p { line-height: 1.5rem; }
.slider--2 .slider__caption :is(h2, h3, h4, p),
.slider--2 .slider__caption .text-content { text-shadow: 1px 1px 1px #000; }
.slider--2 .slider__caption { color: var(--c-text-invert); }
.slider--2 .slider__caption :is(h1, h2, h3, h4, h5, h6) { color: var(--c-text-invert); }

.slider--2 .slide-content-wrapper {
  position: relative;
  width: 100%;
  transform: translateY(30%);
  opacity: .5;
  transition: opacity 1s var(--ease), transform 1s var(--ease);
}
.slider--2 .slider__slide.is-current .slide-content-wrapper {
  opacity: 1;
  transform: translateY(0);
  overflow: hidden;
}
.slider--2 .slide-content-wrapper.has-content::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(10deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .35) 40%, rgba(0, 0, 0, 0) 85%);
  opacity: 0;
  transition: opacity 1s var(--ease) 1s;
  pointer-events: none;
}
.slider--2 .slider__slide.is-current .slide-content-wrapper.has-content::after { opacity: 1; }

.slider--2 .slider-toggle {
  padding: 12px var(--space-sm);
  background-color: rgba(59, 77, 109, .1);
  border: 1px solid rgba(59, 77, 109, .2);
  font-family: var(--font-body);
}
.slider--2 .slider-toggle:hover,
.slider--2 .slider-toggle:focus { background-color: rgba(55, 72, 102, .3); border-color: rgba(41, 54, 76, .5); }
.slider--2 .slider-toggle.active { background-color: rgba(55, 72, 102, .2); border-color: rgba(45, 58, 83, .5); }

.progress {
  width: 40%;
  height: 3px;
  background: rgba(213, 176, 149, .3);
  margin: 25px auto;
}
.progress-fill {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left;
  transform: scaleX(0);
  background-color: var(--c-sand);
}
.progress.animate .progress-fill { animation: slider-progress 6s var(--ease) infinite; }
.progress.paused-animation .progress-fill { animation: none; transform: scaleX(0); }
@keyframes slider-progress { 0% { transform: scaleX(0); } 100% { transform: scaleX(1); } }

.slider__stage { position: relative; }
.js .slider__slide { display: none; }
.js .slider__slide.is-current { display: block; }
.slider__image { display: block; width: 100%; height: auto; }
.slider--2 .slider__image { width: 100%; height: auto; }
.slider__caption { position: relative; z-index: var(--z-raised); }
.slider--2 .slider__caption { position: absolute; left: 0; right: 0; padding: var(--space-lg); }
.slider--align-top    .slider__slide { align-items: flex-start; }
.slider--align-top    .slider__caption { top: 0; bottom: auto; }
.slider--align-middle .slider__slide { align-items: center; }
.slider--align-middle .slider__caption { top: 50%; bottom: auto; transform: translateY(-50%); }
.slider--align-bottom .slider__caption { bottom: 0; top: auto; }

.slider-controls {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  flex-wrap: wrap;
  margin-top: var(--space-sm);
}
.slider-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.slider-toggle {
  background: none;
  border: 0;
  font: inherit;
  font-size: var(--text-sm);
  color: var(--c-text);
  cursor: pointer;
  transition: all var(--dur-slow) var(--ease);
}
.slider-toggle:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.slider-fullwidth { position: relative; overflow: hidden; }

.slider--3 .slider__item { width: 80%; }
@media (min-width: 960px) {
  .slider--3 .slider__item { width: 45%; }
}

.slide-card {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
}
.slide-card:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.slide-card-image { position: relative; overflow: hidden; display: block; }
.slide-card-picture { display: block; width: 100%; }
.slide-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, 0) 50%);
  pointer-events: none;
  z-index: var(--z-base);
}
@media (max-width: 959px) {
  .slide-card-image { aspect-ratio: 3 / 4; }
  .slide-card-picture { height: 100%; object-fit: cover; }
}
.slide-card-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-sm);
  z-index: var(--z-raised);
  color: var(--c-text-invert);
  text-shadow: 0 1px 4px rgba(0, 0, 0, .4);
}
.slide-card-title { font-family: var(--font-heading); font-size: var(--text-lg); }
.slide-card-label { font-size: var(--text-sm); text-transform: uppercase; letter-spacing: var(--ls-eyebrow); }
.slide-card-arrow {
  margin-left: auto;
  z-index: var(--z-raised);
  color: var(--c-text-invert);
  opacity: .5;
  transition: transform var(--dur-slow) var(--ease), opacity var(--dur-slow) var(--ease);
}
.slide-card:hover .slide-card-arrow,
.slide-card:focus .slide-card-arrow { transform: translateX(4px); opacity: 1; }

.slider--3 .uk-slidenav {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-circle);
  color: var(--c-sand);
  background: var(--c-bg);
  opacity: 0;
  cursor: pointer;
  z-index: var(--z-raised);
  transition: opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);
}
.slider--3 .uk-slidenav-previous { left: var(--space-sm); transform: translate(-40px, -50%); }
.slider--3 .uk-slidenav-next     { right: var(--space-sm); transform: translate(40px, -50%); }
.slider-fullwidth:hover .uk-slidenav,
.slider-fullwidth:focus-within .uk-slidenav { opacity: 1; transform: translate(0, -50%); }
.slider--3 .uk-slidenav:active { color: var(--c-sand); background: #f5f5f5; }
.slider--3 .uk-slidenav:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.slideshow { position: relative; }
.slideshow__stage { position: relative; }
.js .slideshow__slide { display: none; }
.js .slideshow__slide.is-current { display: block; }
.slideshow__link { display: block; }
.slideshow__image { display: block; width: 100%; height: auto; }

.slideshow--style-2 .slideshow__slide { overflow: hidden; }
.slideshow--style-2 .slideshow__image {
  transition: transform 1.2s var(--ease-out-quint), opacity 1s var(--ease-out-quint);
  transform-origin: center;
}
.slideshow--style-2 .slideshow__slide.is-current .slideshow__image { transform: scale(1.01); }

.slideshow--style-2 .slideshow-text {
  position: absolute;
  bottom: 60px;
  left: 60px;
  z-index: var(--z-raised);
  pointer-events: none;
  color: var(--c-text-invert);
  max-width: 50%;
}
.slideshow--style-2 .slideshow-text .text-content { pointer-events: auto; }
.slideshow-text .text-content h3 { margin-top: 0; margin-bottom: var(--space-3xs); }
.slideshow-text .text-content p { margin-top: 0; margin-bottom: 0; }
.slideshow--style-2 .slideshow-text :is(h1, h2, h3, h4, h5, h6) { color: var(--c-text-invert); }
@media (max-width: 959px) {
  .slideshow--style-2 .slideshow-text {
    position: static;
    margin-top: var(--space-sm);
    max-width: none;
    color: inherit;
  }
  .slideshow--style-2 .slideshow-text :is(h1, h2, h3, h4, h5, h6) { color: var(--c-navy); }
}

.slideshow--style-1 .slideshow-text { margin-top: var(--space-sm); }
.slideshow--style-1 .slideshow-nav-overlay { display: none; }
.slideshow--style-2 .slideshow__dots { display: none; }
.slideshow__dots { margin-top: var(--space-xs); justify-content: center; }

.slideshow-nav-overlay {
  position: absolute;
  bottom: 60px;
  right: 60px;
  z-index: var(--z-raised);
  background: var(--c-bg);
  border-radius: 30px;
  padding: var(--space-2xs) var(--space-xs);
  width: 360px;
  max-width: calc(100% - 120px);
}
.slideshow-nav-overlay .nav-controls {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
}
.progress-container {
  position: relative;
  width: calc(100% - 165px);
  height: 2px;
  background: #eee;
}
.progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0;
  background: var(--c-sand);
  transition: width var(--dur-slow) var(--ease);
}
.slide-counter {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  min-width: 40px;
  text-align: center;
}
@media (max-width: 959px) {
  .slideshow-nav-overlay {
    bottom: var(--space-sm);
    right: var(--space-sm);
    left: var(--space-sm);
    width: auto;
    max-width: none;
    display: flex;
    justify-content: center;
  }
}

.slideshow--small .slideshow__image { max-height: 60vh; object-fit: cover; }
.slideshow-small__caption { margin-top: var(--space-xs); }
.slideshow-small__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
}

.logos__intro { margin-bottom: var(--space-md); }

.logos__carousel {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.logos__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-sm);
}

.logos__image {
  width: 150px;
  height: auto;
  opacity: .8;
  transition: opacity var(--dur-slow) var(--ease);
}
.logos__item:hover .logos__image { opacity: 1; }

@media (max-width: 959px) {
  .logos__image { width: auto; max-width: 100px; max-height: 45px; }
  .logos__item { padding: 0 var(--space-2xs); }
}

.logos__arrow { flex: none; }
.logos__pause { flex: none; }

.block-testimonials_element {
  text-align: left;
  padding: 3.8% 0;
  border-bottom: 3px solid var(--c-navy);
}

.testimonials__ground {
  position: absolute;
  inset: 0;
  z-index: var(--z-below);
  background-size: cover;
  background-position: center;
  pointer-events: none;
}
.testimonials__inner { position: relative; }

.testimonials__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 0 calc(var(--space-lg) * -1);
  padding: 0;
  list-style: none;
}
.testimonials__row > * {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--space-lg);
}
@media (min-width: 960px) {
  .testimonials__award  { width: 33.333%; }
  .testimonials__quotes { width: 66.666%; }
}
@media (min-width: 1200px) {
  .testimonials__row { margin-left: calc(var(--space-xl) * -1); }
  .testimonials__row > * { padding-left: var(--space-xl); }
}

.testimonials__award { display: flex; justify-content: center; }
.testimonials__award-image {
  max-width: 100%;
  height: auto;
  margin-right: var(--space-sm);
}
@media (max-width: 959px) {
  .testimonials__award { display: none; }
}

.testimonials__slider { position: relative; }
.testimonials__item { width: 100%; }
.testimonials__item blockquote { min-height: 100px; margin: auto; }

.testimonials__item blockquote footer {
  display: block;
  margin-top: var(--space-xs);
}
.testimonials__item blockquote footer::before {
  content: "";
  height: 1px;
  width: 50px;
  display: inline-block;
  vertical-align: middle;
  margin-right: var(--space-2xs);
  background: var(--c-text-invert);
}

.testimonials__item blockquote footer a { color: inherit; }
.testimonials__source {
  display: inline;
  margin-left: var(--space-2xs);
  font-size: var(--text-sm);
  opacity: .72;
}

.block-testimonials_element h4 { text-transform: uppercase; margin-top: var(--space-xs); }
.block-testimonials_element hr { width: 125px; margin: 0 auto; }
.block-testimonials_element svg path { fill: var(--c-sand); }
.testimonials__item blockquote :is(h2, h3) + p { margin-left: auto; }

.testimonials__dots {
  margin-top: var(--space-2xs);
  margin-bottom: var(--space-2xs);
}
.testimonials__dot {
  background: rgba(213, 176, 149, .4);
  border-color: transparent;
}
.testimonials__dot:hover,
.testimonials__dot:focus,
.testimonials__dot.is-current { background-color: rgba(213, 176, 149, .8); border-color: transparent; }

.block-iframe { overflow: hidden; }

.block-iframe { margin-top: var(--space-lg); }
@media (min-width: 1200px) { .block-iframe { margin-top: var(--space-xl); } }

.embed-interior {
  margin-inline: auto;
  max-width: var(--embed-width, 100%);
}

.embed-interior iframe { display: block; max-width: 100%; border: 0; }

.embed-gate {
  border: 1px solid var(--c-line);
  background: var(--c-bg-muted);
  padding: var(--space-md);
  text-align: center;
}

.embed-gate[data-embed-active] {
  border: 0;
  background: none;
  padding: 0;
  text-align: inherit;
}

.embed-gate__note {
  margin: 0 0 var(--space-sm);
  font-size: var(--text-sm);
  color: var(--c-text);
}
.embed-gate__note strong { font-weight: 600; overflow-wrap: anywhere; }

.embed-gate__actions {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs) var(--space-sm);
  justify-content: center;
  align-items: center;
}

.embed-gate__actions [hidden] { display: none; }

.video-block__intro { margin-bottom: var(--space-lg); }

.video-block__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--c-black);
}

.video-block__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-block__toggle {
  position: absolute;
  right: var(--space-sm);
  bottom: var(--space-sm);
  z-index: var(--z-raised);
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-text-invert);
  cursor: pointer;
  line-height: 0;
}
.video-block__toggle:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }

.video-block__toggle-icon--play { display: none; }
.video-block__toggle[aria-pressed="true"] .video-block__toggle-icon--play { display: inline-block; }
.video-block__toggle[aria-pressed="true"] .video-block__toggle-icon--pause { display: none; }

.html-element img,
.html-element video,
.html-element iframe { max-width: 100%; }

.html-element table { max-width: 100%; }

.block-popup { margin: 0; padding: 0; }

.popup--slidein {
  position: fixed;
  bottom: 0;
  z-index: var(--z-banner);
  width: 530px;
  max-width: 100%;
  pointer-events: none;
}
.popup--left  { left: 0; }
.popup--right { right: 0; }

.popup__panel {
  display: flex;
  width: 100%;
  background-color: var(--c-navy);
  transform: translateX(calc(100% + 40px));
  transition: transform 1s var(--ease-soft);

  visibility: hidden;
}
.popup--left .popup__panel { transform: translateX(calc(-100% - 40px)); }

.popup.is-open .popup__panel {
  transform: translateX(0);
  pointer-events: auto;
  visibility: visible;
}

.popup__media { flex: 0 0 30%; min-width: 0; }
.popup__media .popup__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.popup--popup-layout-2 .popup__panel { flex-wrap: wrap; }
.popup--popup-layout-2 .popup__media { flex-basis: 100%; }

.popup__text {
  flex: 1 0 70%;
  width: 70%;
  padding: 28px 35px;
  min-width: 0;
}
.popup--popup-layout-2 .popup__text { flex-basis: 100%; width: 100%; }

.popup__panel h2, .popup__panel .uk-h2 { font-size: 1.8rem; }
.popup__panel p { font-size: 0.85rem; }

.popup__close {
  position: absolute;
  top: var(--space-xs);
  right: var(--space-xs);
  z-index: var(--z-raised);
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-text-invert);
  cursor: pointer;
  line-height: 0;
  opacity: .8;
}
.popup__close:hover { opacity: 1; }
.popup__close:focus-visible { outline: 2px dotted var(--c-text-invert); outline-offset: 3px; }
.popup__panel { position: relative; }

.popup__tab {
  position: absolute;
  bottom: 50px;
  width: 40px;
  height: 40px;
  padding: 7% 1%;
  border: 0;
  box-sizing: border-box;
  background-color: var(--c-sand);
  color: var(--c-text-invert);
  text-align: center;
  cursor: pointer;
  pointer-events: auto;
  transition: transform 1s var(--ease-soft);
}

.popup__tab { left: 0; }
.popup--left.is-open  .popup__tab { transform: translateX(-100%); }
.popup--right.is-open .popup__tab { transform: translateX(100%); }
.popup__tab:focus-visible { outline: 2px dotted var(--c-text-invert); outline-offset: 2px; }

.popup__tab-icon { transition: opacity 1s var(--ease-soft) 500ms; }
.popup.is-open .popup__tab-icon { opacity: 0; transition-delay: 0s; }
.popup--right .popup__tab-icon { transform: scaleX(-1); }

@media (max-width: 640px) {
  .popup--slidein { width: 80%; }
  .popup__panel { flex-wrap: wrap; padding: 15px 0; }
  .popup__text { width: 100%; flex-basis: 100%; padding: 17px 16px; text-align: center; }
  .popup__media { flex-basis: 100%; }
  .popup__tab { width: 10%; }
}

.popup-modal {
  width: 500px;
  max-width: calc(100% - 40px);
  padding: 0;
  border: 0;
  background: var(--c-bg);
  color: var(--c-text);
  box-shadow: var(--shadow-xl);
}
.popup-modal::backdrop { background: var(--c-overlay-dark); }

@media (min-width: 960px) {
  .popup-modal--popup-layout-2 { width: 800px; max-width: calc(100% - 40px); }
}

.popup-modal__inner { position: relative; }
.popup-modal__media .popup-modal__image { display: block; width: 100%; height: auto; }
.popup-modal__body { padding: var(--space-md); }
.popup-modal__heading { margin-top: 0; }

.popup-modal__close {
  position: absolute;
  top: var(--space-2xs);
  right: var(--space-2xs);
  z-index: var(--z-raised);
  padding: var(--space-3xs);
  border: 0;
  background: none;
  color: var(--c-text);
  cursor: pointer;
  line-height: 0;
}
.popup-modal__close:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
@media (min-width: 960px) {
  .popup-modal--popup-layout-2 .popup-modal__close {
    top: 0; right: 0; color: var(--c-text-invert);
    transform: translate(100%, -100%);
  }
}

.popup__button { margin-bottom: 0; }

.blog-items__header {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  border-top: 1px solid var(--c-blog-rule);
  border-bottom: 1px solid var(--c-blog-rule);
  margin-bottom: 60px;
}

.block-blog_items { --c-blog-rule: rgba(213, 176, 149, .65); }

.blog-items__heading { flex: 1 1 auto; padding: 22px 32px 22px 0; }

.block-blog_items .blog-items__heading :is(h2, h3) { margin: 0; }

.blog-items__header-action {
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--c-blog-rule);
  min-width: 290px;
  padding: 20px 36px;
}

.blog-items__toggle { display: inline-flex; align-items: center; gap: 8px; }

.blog-items__toggle[hidden] { display: none; }

.blog-items__toggle-icon { width: 20px; height: 20px; flex: none; }
.blog-items__toggle-icon svg { display: block; }

.blog-items__toggle-icon { transition: transform var(--dur-slow) var(--ease-out); }
.blog-items__toggle[aria-expanded="true"] .blog-items__toggle-icon { transform: rotate(180deg); }

.blog-items__reveal-mask--toggle { overflow: hidden; }
.blog-items__header:has(+ .blog-items__reveal-mask--toggle) { margin-bottom: 0; }
.blog-items__reveal-mask--toggle .blog-items__reveal { padding-top: 60px; }

.blog-items__grid { display: grid; gap: 60px; align-items: start; }

@media (min-width: 960px) {
  .blog-items__grid--editorial {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-auto-flow: row;
  }

  .blog-items__grid--editorial .blog-item--featured {
    grid-column: 1;
    grid-row: 1 / span var(--blog-rows, 3);
    align-self: start;
  }
  .blog-items__grid--editorial .blog-item--item { grid-column: 2; }

  .blog-items__grid--editorial { row-gap: 0; column-gap: 60px; }
  .blog-items__grid--editorial .blog-item--featured { margin-bottom: 0; }
}
@media (min-width: 960px) and (max-width: 1199px) {
  .blog-items__grid--editorial { column-gap: 54px; }
}

@media (min-width: 960px) {
  .blog-items__grid--brief { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
}

@media (min-width: 960px) {
  .blog-items__grid--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
  .blog-items__grid--list { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
}

.blog-item { min-width: 0; }
.blog-item__media { display: block; overflow: hidden; }
.blog-item__image { display: block; width: 100%; height: 100%; object-fit: cover; }

.blog-item--featured .blog-item__media { aspect-ratio: 760 / 450; }
.blog-item--item     .blog-item__media { aspect-ratio: 180 / 150; }
.blog-item--brief    .blog-item__media { aspect-ratio: 4 / 3; }

.blog-item--featured .blog-item__body { margin-top: 48px; }
.blog-item--featured .blog-item__body:first-child { margin-top: 0; }

.blog-item__meta {
  margin: 0;
  font-size: var(--text-sm);
  line-height: var(--lh-snug);
  color: var(--c-text-dim);
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.blog-item--brief .blog-item__category {
  background-color: rgba(213, 176, 149, .12);
  border-radius: 6px;
  font-size: .75rem;
  line-height: 1.4;
  padding: 4px 10px;
  white-space: nowrap;
}
.blog-item__rule { background-color: rgba(213, 176, 149, .4); flex: 0 0 32px; height: 1px; }
.blog-item__date { font-size: .8rem; opacity: .7; white-space: nowrap; }

.blog-item__title { margin: 0; text-wrap: pretty; }
.blog-item--featured .blog-item__title { max-width: 780px; text-wrap: balance; }

.blog-item--brief .blog-item__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blog-item__more { display: inline-block; margin: 10px 0; }

@media (min-width: 960px) {
  .blog-items__grid--editorial .blog-item--item {
    display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    gap: 40px;
    padding-bottom: 38px;
  }
  .blog-items__grid--editorial .blog-item--item + .blog-item--item {
    border-top: 1px solid var(--c-blog-rule);
    padding-top: 38px;
  }
  .blog-items__grid--editorial .blog-item--item.blog-item--no-image {
    grid-template-columns: minmax(0, 1fr);
  }
  .blog-items__grid--editorial .blog-item--item .blog-item__body { margin-top: 0; }
}
@media (min-width: 960px) and (max-width: 1199px) {
  .blog-items__grid--editorial .blog-item--item {
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 28px;
  }
}

@media (max-width: 959px) {
  .blog-items__grid {
    display: flex;
    gap: var(--space-xs);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;
  }
  .blog-items__grid::-webkit-scrollbar { display: none; }

  .blog-items__grid > .blog-item {
    flex: 0 0 auto;
    width: calc(80% - 3px);
    scroll-snap-align: start;
  }
  .blog-item .blog-item__media { aspect-ratio: 1 / 1.25; }
  .blog-item .blog-item__body { margin-top: 24px; }

  .blog-item--featured .blog-item__title { font-size: var(--text-lg); line-height: var(--lh-snug); }
  .blog-item__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .blog-items__grid--list { flex-direction: column; overflow: visible; }
  .blog-items__grid--list > .blog-item { width: auto; }
}

@media (max-width: 639px) {
  .blog-items__header { display: block; margin-bottom: 40px; text-align: center; }
  .blog-items__heading { padding: 18px 0 8px; }
  .blog-items__header-action { border-left: 0; min-width: 0; padding: 8px 0 20px; }
  .blog-items__reveal-mask--toggle .blog-items__reveal { padding-top: 40px; }
}

.blog-items__footer-action { margin: 60px 0 0; text-align: center; }

.events__header { margin-bottom: var(--space-lg); }

.events__tabs { display: none; }

@media (min-width: 960px) {
  .events__mobile { display: none; }
  .events__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    margin: 0 0 var(--space-lg) -20px;
    padding: 0;
    list-style: none;
  }
  .events__tabs::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 0;
    border-bottom: 1px solid var(--c-line);
  }
}

.events__tab-item { flex: none; position: relative; padding-left: 20px; }

.events__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--space-2xs) var(--space-md);
  border: 0;
  border-bottom: 1px solid transparent;
  background: none;
  color: var(--c-text);
  font: inherit;
  font-size: var(--text-sm);
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease);
}
.events__tab:hover { color: var(--c-sand); }
.events__tab-item.is-active .events__tab { color: var(--c-sand); border-bottom-color: var(--c-sand); }
.events__tab:focus-visible { outline: var(--focus-ring); outline-offset: -4px; }

.events__mobile { max-width: 288px; margin: 0 auto var(--space-lg); text-align: center; }
.events__mobile-label {
  display: block;
  margin: 0 0 var(--space-3xs);
  font-size: var(--text-sm);
  color: var(--c-text-dim);
}
.events__select { width: 100%; height: 40px; }

html:not(.js) :is(.events__tabs, .events__mobile) { display: none; }
.js .events__panel { display: none; }
.js .events__panel.is-current { display: block; }

.events__grid { display: grid; gap: var(--space-md); }

@media (min-width: 640px) { .events__grid--tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .events__grid--tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.events__grid--list { grid-template-columns: minmax(0, 1fr); gap: 0; }
.events__grid--list .event-card + .event-card { border-top: 1px solid var(--c-line); }

.events__grid--slider {
  display: flex;
  gap: var(--space-md);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.events__grid--slider::-webkit-scrollbar { display: none; }
.events__grid--slider > .event-card { flex: 0 0 auto; width: 83.33%; scroll-snap-align: start; }
@media (min-width: 640px)  { .events__grid--slider > .event-card { width: 46%; } }
@media (min-width: 1200px) { .events__grid--slider > .event-card { width: 31%; } }

.event-card { min-width: 0; }
.event-card__media { display: block; overflow: hidden; aspect-ratio: 4 / 3; }
.event-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }

.event-card__body { position: relative; padding-top: var(--space-sm); }
.cards-content { position: relative; }
.cards-border {
  position: absolute;
  display: block;
  top: 20px;
  left: 20px;
  right: 20px;
  height: 50%;
  border: 2px solid var(--c-navy);
  pointer-events: none;
}
.events__grid--list .cards-border { display: none; }

.event-card-badge-prefix {
  display: block;
  margin-top: 5px;
  margin-bottom: -.5rem;
  font-size: var(--text-sm);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-sand);
}

.event-card__title { margin: var(--space-2xs) 0 0; }
.event-card__dates { margin: var(--space-2xs) 0 0; font-size: var(--text-sm); color: var(--c-text-dim); }
.event-card__times, .event-card__recurrence { display: block; }
.event-card__text { margin-top: var(--space-2xs); }
.event-card__actions {
  margin: var(--space-sm) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}

@media (min-width: 640px) {
  .events__grid--tiles .event-card--featured { grid-column: span 2; }
  .events__grid--tiles .event-card--featured .event-card__media { aspect-ratio: 16 / 9; }
}

.events__grid--list .event-card {
  display: grid;
  gap: var(--space-md);
  padding: var(--space-md) 0;
}
@media (min-width: 640px) {
  .events__grid--list .event-card { grid-template-columns: 180px minmax(0, 1fr); align-items: start; }
  .events__grid--list .event-card--featured { grid-column: auto; }
}

.events__footer-action { margin: var(--space-lg) 0 0; text-align: center; }

.navbar-element { position: relative; }

.navbar-element__bar { display: none; }

@media (min-width: 960px) {
  .navbar-element__bar { display: block; background: var(--c-bg); }
  .navbar-element__mobile { display: none; }
}

.navbar-element__nav { display: flex; justify-content: center; background: var(--c-bg); }

.navbar-element__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.navbar-element__item { display: block; }

.navbar-element__link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  min-height: 50px;
  padding: 0 var(--space-xs);
  font-size: .85rem;
  letter-spacing: var(--ls-button);
  text-transform: uppercase;
  color: var(--c-text-strong);
  text-decoration: none;
  border-right: 1px solid var(--c-line-light);
}
.navbar-element__item:first-child .navbar-element__link { border-left: 1px solid var(--c-line-light); }
.navbar-element__link:hover { color: var(--c-text-strong); text-decoration: none; }
.navbar-element__link:focus-visible { outline: var(--focus-ring); outline-offset: -4px; }

.navbar-element__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  height: 3px;
  background-color: var(--c-sand);
  transform: translateY(5px);
  transition: transform var(--dur-slow) var(--ease);
}
.navbar-element__link:hover::after,
.navbar-element__link.is-current::after { transform: translateY(0); }

.navbar-element__mobile { background: var(--c-bg); display: flex; justify-content: center; }

@media (min-width: 960px) { .navbar-element__mobile { display: none; } }

.navbar-element__mobile-inner {
  padding: 0 var(--space-xs) var(--space-xs);
  text-align: center;
}

.navbar-element__mobile-title {
  margin: 0;
  padding: 5px 0 5px 15px;
  font-size: var(--text-nav);
}

.navbar-element__label {
  display: inline;
  margin: 0;
  font-size: var(--text-sm);
  line-height: 28px;
  color: var(--c-text-strong);
}

.navbar-element__select { width: 100%; height: 40px; }

.navbar-element__fallback {
  list-style: none;
  margin: var(--space-2xs) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs) var(--space-xs);
  justify-content: center;
}

.navbar-element.is-stuck .navbar-element__bar,
.navbar-element.is-stuck .navbar-element__mobile {
  position: fixed;
  left: 0;
  right: 0;
  z-index: var(--z-navbar-center);
  border-top: 1px solid #eaeaea;
  box-shadow: var(--shadow-sm);
}

@media (min-width: 960px) {
  .navbar-element.is-stuck .navbar-element__bar,
  .navbar-element.is-stuck .navbar-element__mobile {
    left: var(--frame-width);
    right: var(--frame-width);
  }
}

.navbar-element__spacer { height: 0; }

.restaurant-menu__intro { margin-bottom: var(--space-lg); }

.restaurant-menu { display: flow-root; }

.restaurant-menu__tabs { display: none; }

@media (min-width: 960px) {
  .restaurant-menu { width: 75%; margin-inline: auto; }
  .restaurant-menu__mobile { display: none; }

  .restaurant-menu__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    margin: 0 0 0 -20px;
    padding: 0;
    list-style: none;
  }
  .restaurant-menu__tabs::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 0;
    border-bottom: 1px solid var(--c-line);
  }
}

.restaurant-menu__tab-item { flex: none; position: relative; padding: 0 var(--space-2xs); }

.restaurant-menu__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--space-2xs) var(--space-md);
  border: 0;
  border-bottom: 1px solid transparent;
  background: none;
  color: var(--c-text);
  font: inherit;
  font-size: var(--text-sm);
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease);
}
.restaurant-menu__tab:hover { color: var(--c-sand); }
.restaurant-menu__tab-item.is-active .restaurant-menu__tab {
  color: var(--c-sand);
  border-bottom-color: var(--c-sand);
}
.restaurant-menu__tab:focus-visible { outline: var(--focus-ring); outline-offset: -4px; }

html:not(.js) :is(.restaurant-menu__tabs, .restaurant-menu__mobile) { display: none; }

.restaurant-menu__mobile {
  width: 80%;
  max-width: 288px;
  margin: var(--space-sm) auto;
  text-align: center;
}

.restaurant-menu__mobile-label {
  display: block;
  margin: 0;
  font-size: var(--text-sm);
  line-height: 20px;
  color: var(--c-text-dim);
}
.restaurant-menu__select { width: 83.33%; height: 40px; }

.restaurant-menu__panels { margin-top: 0; }

.js .restaurant-menu__panel { display: none; }
.js .restaurant-menu__panel.is-current { display: block; }

.menu-container {
  position: relative;
  background: var(--c-bg-muted);
  border-radius: var(--radius-lg);
}

.menu-section { position: relative; padding: var(--space-lg); }
@media (min-width: 1200px) { .menu-section { padding: var(--space-xl); } }

.menu-section::before {
  content: "";
  position: absolute;
  top: 40px;
  bottom: 20px;
  right: 20px;
  left: 20px;
  border: 1px solid var(--c-sand);
  pointer-events: none;
}
@media (max-width: 959px) { .menu-section::before { display: none; } }
.menu-style-plain .menu-section::before { display: none; }

.menu-section__heading { text-align: center; }
.menu-style-plain .menu-section__heading { margin: 0 0 var(--space-xs); }

.menu-section-title {
  display: inline-block;
  position: relative;
  margin: 0 0 var(--space-sm);
  padding: 0 var(--space-xs);
  background: var(--c-bg-muted);
  color: var(--c-sand);
  font-size: 1.2rem;

  line-height: var(--lh-heading);

  letter-spacing: .3em;
  text-transform: uppercase;
}
@media (min-width: 960px) { .menu-section-title { top: -40px; } }

.menu-section-no-title::before { display: none; }

@media (min-width: 960px) {
  .menu-columns-2, .menu-columns-3, .menu-columns-4 { padding: var(--space-md); }
  .menu-columns-2 .menu-section,
  .menu-columns-3 .menu-section,
  .menu-columns-4 .menu-section { padding: 70px 35px 35px; margin-bottom: 0; }
  .menu-columns-2 .menu-section-no-title,
  .menu-columns-3 .menu-section-no-title,
  .menu-columns-4 .menu-section-no-title { padding: 30px 20px 10px; }

  .menu-columns-2 { columns: 2; column-gap: var(--space-md); }
  .menu-columns-3 { columns: 3; column-gap: var(--space-md); }
  .menu-columns-4 { columns: 4; column-gap: var(--space-md); }
  .menu-columns-2 .menu-section,
  .menu-columns-3 .menu-section,
  .menu-columns-4 .menu-section { break-inside: avoid; }

  .menu-style-plain .menu-section { padding: 25px 25px 30px; }
  .menu-style-plain.menu-columns-2,
  .menu-style-plain.menu-columns-3,
  .menu-style-plain.menu-columns-4 { padding: 25px 20px; }
  .menu-style-plain.menu-columns-2 .menu-section,
  .menu-style-plain.menu-columns-3 .menu-section,
  .menu-style-plain.menu-columns-4 .menu-section { padding: 15px 15px 20px; }
  .menu-style-plain.menu-columns-2 .menu-section-no-title,
  .menu-style-plain.menu-columns-3 .menu-section-no-title,
  .menu-style-plain.menu-columns-4 .menu-section-no-title { padding: 20px 15px 5px; }
}

.menu-section .price > p { white-space: pre; }

.menu-move {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-xs);
}

.menu-move__side { display: flex; align-items: center; min-width: 0; }
.menu-move__link {
  display: inline-flex;
  align-items: center;
  gap: .25em;
  line-height: 30px;
  text-transform: uppercase;
}
.menu-move__icon { width: 17px; height: 17px; }

.services-icons {
  --services-icons-divider-color: rgba(0, 0, 0, .24);
  --services-icons-icon-width: 60px;
  --services-icons-icon-height: auto;
}

.services-icons__header { margin-bottom: var(--space-lg); }
.services-icons__header-inner { margin-inline: auto; }
@media (min-width: 960px) { .services-icons__header-inner { width: 60%; } }

.services-icons h3, .services-icons .uk-h3 { font-size: 1.2rem; }

.services-icons-grid { line-height: 1.3rem; }

.services-icons-grid__cell {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: var(--space-sm);
}
@media (max-width: 1199px) {
  .services-icons-grid { font-size: 13px; line-height: 1.5rem; }
  .services-icons-grid__cell { padding: var(--space-2xs); }
}

.services-icons-grid-1-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}
.services-icons-grid-1-3 > .services-icons-grid__cell { flex: 0 0 calc((100% - 40px) / 3); }
@media (max-width: 1199px) {
  .services-icons-grid-1-3 > .services-icons-grid__cell { flex-basis: calc((100% - 20px) / 2); }
}

@media (min-width: 960px) {
  .services-icons-grid-1-3 > .services-icons-grid__cell:not(:nth-child(3n)):not(:last-child)::after {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    width: 1px; right: -10px; top: -10px; bottom: -10px;
  }

  .services-icons-grid-1-3 > .services-icons-grid__cell:nth-child(3n+1):not(:nth-last-child(-n+3))::before {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    height: 1px; left: 0; right: calc(-200% - 40px); bottom: -10px;
  }
}
@media (max-width: 1199px) {
  .services-icons-grid-1-3 > .services-icons-grid__cell:nth-child(odd):not(:last-child)::after {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    width: 1px; right: -10px; top: -10px; bottom: -10px;
  }
  .services-icons-grid-1-3 > .services-icons-grid__cell:nth-child(odd):not(:nth-last-child(-n+2))::before {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    height: 1px; left: -10px; right: calc(-100% - 30px); bottom: -10px;
  }
}

.services-icons-grid-1-4,
.services-icons-grid-1-5 { display: grid; gap: var(--space-sm); }
.services-icons-grid-1-4 { grid-template-columns: repeat(4, 1fr); }
.services-icons-grid-1-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1199px) {
  .services-icons-grid-1-4,
  .services-icons-grid-1-5 { grid-template-columns: repeat(2, 1fr); }
}

.services-icons-grid-1-4 > .services-icons-grid__cell,
.services-icons-grid-1-5 > .services-icons-grid__cell {
  align-items: var(--services-icons-align-items, center);
}

@media (min-width: 960px) {
  .services-icons-grid-1-4 > .services-icons-grid__cell:not(:nth-child(4n))::after,
  .services-icons-grid-1-5 > .services-icons-grid__cell:not(:nth-child(5n))::after {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    width: 1px; right: -10px; top: -10px; bottom: -10px;
  }
  .services-icons-grid-1-4 > .services-icons-grid__cell:nth-last-child(n+5)::before,
  .services-icons-grid-1-5 > .services-icons-grid__cell:nth-last-child(n+6)::before {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    height: 1px; right: -10px; left: -10px; bottom: -10px;
  }
}
@media (max-width: 1199px) {
  .services-icons-grid-1-4 > .services-icons-grid__cell:nth-child(odd)::after,
  .services-icons-grid-1-5 > .services-icons-grid__cell:nth-child(odd)::after {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    width: 1px; right: -10px; top: -10px; bottom: -10px;
  }
  .services-icons-grid-1-4 > .services-icons-grid__cell:nth-last-child(n+3)::before,
  .services-icons-grid-1-5 > .services-icons-grid__cell:nth-last-child(n+3)::before {
    content: "";
    position: absolute;
    background-color: var(--services-icons-divider-color);
    height: 1px; right: -10px; left: -10px; bottom: -10px;
  }
}

.service-icon-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.service-icon { padding: var(--space-sm) 0; }
.service-icon__image {
  display: block;
  width: var(--services-icons-icon-width);
  height: var(--services-icons-icon-height);
}
@media (max-width: 1199px) {
  .service-icon__image {
    width: var(--services-icons-icon-width-mobile, 40px);
    height: var(--services-icons-icon-height-mobile, auto);
  }
}

.service-icon__text { text-align: center; }

.blog-section {
  position: relative;
  padding-top: var(--space-md);
}
@media (min-width: 960px) {
  .blog-section { padding-top: var(--space-lg); }
}

.blog-search,
.blog-search__rule { display: none; }

@media (min-width: 960px) {
  .blog-search { display: block; }

  .blog-search__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-xs);
  }

  .blog-search__filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
  }
  @media (min-width: 1200px) {
    .blog-search__filters { gap: var(--space-lg); }
  }

  .blog-search__field { margin: 0; }

  .blog-search__label {
    color: var(--c-text-strong);
    font-size: var(--text-sm);
  }

  .blog-search__select {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    max-width: 100%;
    margin: 0;
    padding: 0 var(--space-sm) 0 var(--space-2xs);
    border: 1px solid var(--c-line-strong);
    border-radius: 0;
    background: var(--c-bg);
    color: var(--c-text);
    font: inherit;
    text-transform: none;
    vertical-align: middle;
    transition: border-color .2s ease-in-out;
  }
  .blog-search__select:focus-visible { border-color: var(--c-sand); }

  .blog-search__go {
    display: block;
    margin-top: var(--space-3xs);
    padding: 0 var(--space-xs);
    height: 40px;
    border: 1px solid var(--c-line-strong);
    background: var(--c-bg);
    color: var(--c-text);
    font: inherit;
    cursor: pointer;
  }
  .blog-search__go:hover { background: var(--c-bg-hover); }

  .blog-search__back { margin: 0 0 var(--space-sm); }
  .blog-search__back-icon { vertical-align: middle; }

  .blog-search__search { width: 240px; max-width: 100%; }
  .blog-search__input-wrap { position: relative; }
  .blog-search__input {
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0 40px 0 var(--space-2xs);
    border: 1px solid var(--c-line);
    border-radius: 0;
    background: var(--c-bg);
    color: var(--c-text);
    font: inherit;
    -webkit-appearance: none;
    appearance: none;
  }
  .blog-search__input::placeholder { color: var(--c-text); opacity: 1; }
  .blog-search__input::-webkit-search-cancel-button,
  .blog-search__input::-webkit-search-decoration { -webkit-appearance: none; }

  .blog-search__input:focus-visible { border-color: var(--c-sand); }

  .blog-search__submit {
    position: absolute;
    top: 0; right: 0; bottom: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--c-text);
    cursor: pointer;
  }

  .blog-search__rule {
    display: block;
    margin: var(--space-sm) 0;
    border: 0;
    border-top: 1px solid var(--c-line);
  }
}

.post-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  align-items: stretch;
}
@media (min-width: 960px) {
  .post-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1200px) {
  .post-grid { gap: var(--space-lg); }
}

.post-list__heading {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: var(--lh-snug);
  text-align: center;
}

.post-grid__counter {
  grid-column: 1 / -1;
  margin: 0;
  text-align: center;
}

.post-list__empty { margin: 0; text-align: center; }

.post-card {
  position: relative;
  display: flow-root;
  box-sizing: border-box;
  background: var(--c-bg);
  color: var(--c-text);
  box-shadow: 0 5px 15px rgba(0, 0, 0, .08);
}

.post-card__media { overflow: hidden; }
.post-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 450 / 350;
  object-fit: cover;
}

.post-card__body {
  display: flow-root;
  padding: var(--space-md);
}
@media (min-width: 1200px) {
  .post-card__body { padding: var(--space-lg); }
}
.post-card__body > :last-child { margin-bottom: 0; }

.post-card__link { color: inherit; text-decoration: none; display: block; }
.post-card__link:hover { color: inherit; text-decoration: none; }

.post-card__title {
  margin: 0 0 var(--space-2xs);
  color: var(--c-sand);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  line-height: var(--lh-snug);
}

.post-card__headline {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  line-height: var(--lh-snug);
  color: var(--c-navy);
}

.post-card__meta {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: var(--space-2xs) 0;
}
.post-card__publisher,
.post-card__date {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.4;
  color: var(--c-text);
}

.post-card__publisher {
  margin-bottom: var(--space-2xs);
  color: var(--c-text-muted);
  font-family: var(--font-eyebrow);
  font-size: var(--text-md);
  font-weight: 700;
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
}

.post-card__summary { margin: var(--space-sm) 0; }

.pagination {
  display: flex;
  justify-content: center;
  margin: var(--space-sm) 0;
}

.pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 0 var(--space-sm);
  padding: 0;
  list-style: none;
}
.pagination__item { flex: none; position: relative; padding-left: 0; }
.pagination__link {
  display: flex;
  align-items: center;
  column-gap: .25em;
  padding: var(--space-3xs) var(--space-2xs);
  color: var(--c-text);
  text-decoration: none;
}
.pagination__link:hover { color: var(--c-text); text-decoration: underline; }

.pagination__link--current {
  color: var(--c-sand);
  font-weight: 700;
}

.pagination__icon { display: inline-flex; width: 17px; }

.blog-post__media { text-align: center; }

.blog-post__image {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: var(--space-sm);
}

.blog-post__body { margin-top: var(--space-lg); }

.blog-post__title {
  margin: var(--space-sm) 0;
  color: var(--c-navy);
  font-size: var(--text-xl);
  line-height: var(--lh-heading);
  text-align: center;
}

.blog-post__headline {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  line-height: var(--lh-snug);
  text-align: center;
  color: var(--c-navy);
}

.blog-post__publisher,
.blog-post__date,
.blog-post__share-label {
  margin: var(--space-sm) 0;
  font-size: var(--text-sm);
  line-height: var(--lh-snug);
  color: var(--c-text);
  text-align: center;
}
.blog-post__publisher {
  color: var(--c-text-muted);
  font-family: var(--font-eyebrow);
  font-size: var(--text-md);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
}

.blog-post__share-row { display: flex; justify-content: center; }
.blog-post__share {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 calc(var(--space-2xs) * -1);
  padding: 0;
  list-style: none;
}
.blog-post__share > li { padding-left: var(--space-2xs); }
.blog-post__share-link {
  display: flex;
  align-items: center;
  line-height: 0;
  color: var(--c-text);
  text-decoration: none;
  transition: color .1s ease-in-out;
}
.blog-post__share-link:hover { color: var(--c-sand); }

.blog-post__rule,
.blog-post__rule-end {
  margin: var(--space-sm) 0;
  border: 0;
  border-top: 1px solid var(--c-line);
}

.blog-post__original { margin: var(--space-sm) 0 0; }

.blog-post__tags { display: flex; justify-content: center; }

.blog-post__tag-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 var(--space-sm) calc(var(--space-sm) * -1);
  padding: 0;
  list-style: none;
}
.blog-post__tag-list > li { flex: none; padding-left: var(--space-sm); position: relative; }

.blog-post__tag-label { color: var(--c-text); }

.blog-post__tag-list a {
  display: flex;
  align-items: center;
  column-gap: .25em;
  color: var(--c-text);
  font-size: .85rem;
  font-weight: 400;
  line-height: 2;
  text-transform: uppercase;
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease);
}
.blog-post__tag-list a:hover { color: var(--c-text); text-decoration: none; }

.events-index__filter-wrap { margin: var(--space-2xs) 0; }

@media (max-width: 959px) {
  .events-index__filter { font-size: .85rem; }
}

.events-index__menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  min-width: 0;
  margin: 0 0 0 calc(var(--space-xs) * -1);
  padding: 0;
  border: 0;
  width: calc(100% + var(--space-xs));
}

.events-index__views-col {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: var(--space-xs);
}
.events-index__picker-col {
  flex: 0 0 auto;
  padding-left: var(--space-xs);
}

@media (min-width: 960px) {
  .events-index__views-col  { flex: 0 0 66.6667%; }
  .events-index__picker-col { flex: 0 0 33.3333%; }
}

.events-index__views {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-xs);
  width: 100%;
}
.events-index__views::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  height: 1px;
  background-color: #d3d3d3;
}

.events-index__view {
  position: relative;
  flex: none;
  font-size: inherit;
  cursor: pointer;
}
.events-index__view input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}

.events-index__view-face {
  display: flex;
  align-items: center;
  gap: 0;
  height: 40px;
  padding: 0 var(--space-sm);
  border: 1px solid #d3d3d3;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  white-space: nowrap;
}
.events-index__view input:checked + .events-index__view-face {
  border-color: var(--c-sand);
  background-color: var(--c-sand);
  color: var(--c-text-invert);
}
.events-index__view input:disabled + .events-index__view-face {
  border-color: #d3d3d3;
  background-color: var(--c-bg-hover);
  color: var(--c-text-dim);
}

.events-index__view input:focus-visible + .events-index__view-face {
  outline: var(--focus-ring);
  outline-offset: 2px;
}

@media (max-width: 959px) {
  .events-index__view-face { padding: 0 var(--space-2xs); }
  .events-index__view-face .icon { min-width: 20px; }
  .events-index__view-title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .events-index__view input:checked + .events-index__view-face .events-index__view-title {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip-path: none;
    white-space: nowrap;
  }
}

.events-index__picker {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: var(--space-xs);
  width: 100%;
}
.events-index__month-year {
  display: none;
  flex: 1 1 auto;
  min-width: 0;
  gap: var(--space-xs);
}
@media (min-width: 960px) {
  .events-index__month-year { display: flex; }
}
.events-index__month-year .events-index__field { flex: 1 1 0; min-width: 0; }
.events-index__select,
.events-index__year { width: 100%; }

.events-index__steps { display: flex; flex: none; flex-wrap: nowrap; }
.events-index__settings-col { flex: none; }

.events-index__step,
.events-index__settings {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 var(--space-2xs);
  border: 1px solid #d3d3d3;
  border-radius: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font: inherit;
  font-size: var(--text-sm);
  line-height: 30px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}
.events-index__step:hover,
.events-index__settings:hover {
  background-color: var(--c-sand);
  border-color: var(--c-sand);
  color: var(--c-text-invert);
}
.events-index__step--next { margin-left: -1px; }
@media (max-width: 959px) {
  .events-index__step,
  .events-index__settings { padding: 0 var(--space-3xs); }
}
@media (min-width: 960px) {
  .events-index__settings { display: none; }
}

.events-index__tagrow { display: none; }
@media (min-width: 960px) {
  .events-index__tagrow {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
    margin-top: var(--space-2xs);
  }
  .events-index__tagfield { flex: 0 0 auto; }
  .events-index__tagrow-rest { flex: 1 1 auto; min-width: 0; }
  .events-index__tagfield .events-index__select { width: auto; }
}

.events-index__current {
  margin: var(--space-2xs) 0 0;
  font-size: var(--text-sm);
  line-height: var(--lh-normal);
  text-align: center;
}
@media (min-width: 960px) {
  .events-index__current { display: none; }
}

.events-index__submit { margin-top: var(--space-2xs); }

.events-index__panel { margin-top: var(--space-sm); }
.events-index__panel-label {
  display: block;
  margin-bottom: var(--space-3xs);
  font-size: var(--text-sm);
}
.events-index__panel-row { display: flex; gap: var(--space-xs); }
.events-index__panel-row .events-index__field { flex: 1 1 0; min-width: 0; }
.events-index__panel-tags { margin: var(--space-sm) 0 0; padding: 0; border: 0; }
.events-index__panel-list { margin: var(--space-2xs) 0 0; padding: 0; list-style: none; }
.events-index__panel-list > li + li { border-top: 1px solid var(--c-line); }
.events-index__panel-check {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  width: 100%;
  padding: var(--space-3xs) 0;
  cursor: pointer;
}
.events-index__panel-go { width: 100%; margin-top: var(--space-lg); }
.events-index__panel-close {
  position: absolute;
  top: var(--space-2xs);
  right: var(--space-2xs);
  border: 0;
  background: none;
  color: var(--c-text);
  cursor: pointer;
}

.js .events-index__panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(320px, 90vw);
  margin: 0;
  padding: var(--space-lg) var(--space-sm) var(--space-sm);
  overflow-y: auto;
  background: var(--c-bg);
  box-shadow: var(--shadow-lg);
  z-index: 1010;
}
@media (min-width: 960px) {
  .events-index__panel { display: none; }
}

.events-index__results { margin: var(--space-sm) 0; }
@media (min-width: 959px) {
  .events-index__results { margin: var(--space-lg) 0; }
}

.events-index__tiles { display: block; }

.events-index__empty {
  padding: var(--space-lg) 0;
  background-color: var(--c-bg-muted);
}
@media (min-width: 960px) {
  .events-index__empty { padding: var(--space-xl) 0; }
}
.events-index__empty-inner { text-align: center; }
.events-index__empty-inner > :last-child { margin-bottom: 0; }

.events-index__empty-text { margin: 0; }

.events-index__list { margin: 0; padding: 0; list-style: none; }
.events-index__list > li:not(:last-child) { border-bottom: 1px solid var(--c-line-light); }
.events-list-grid { display: flex; }
.events-list-day {
  flex: none;
  min-width: 100px;
  padding: var(--space-sm) var(--space-xs) var(--space-sm) 0;
  border-right: 1px solid var(--c-line-light);
  text-align: center;
}
@media (min-width: 960px) { .events-list-day { min-width: 130px; } }
.events-list-day-inner { display: block; line-height: var(--lh-tight); }
.events-list-weekday,
.events-list-month {
  display: block;
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: var(--ls-eyebrow);
  color: var(--c-text-dim);
}
.events-list-number { display: block; font-size: var(--text-xl); color: var(--c-sand); }
.events-list-body { min-width: 0; padding: var(--space-sm) 0 var(--space-sm) var(--space-md); }
.events-list-title { margin: 0; font-size: var(--text-lg); line-height: var(--lh-snug); }
.events-list-title a { color: inherit; text-decoration: none; }
.events-list-title a:hover { color: var(--c-sand); text-decoration: underline; }
.events-list-dates { margin: var(--space-3xs) 0 0; font-size: var(--text-sm); color: var(--c-text-dim); }
.events-list-times { display: block; }
.events-list-summary { margin: var(--space-2xs) 0 0; }

.calendar { position: relative; }
.calendar .days { display: grid; grid-template-columns: repeat(7, 1fr); }
.calendar .day-label {
  padding: var(--space-3xs) 0;
  border-top: 1px solid #d3d3d3;
  border-bottom: 1px solid #d3d3d3;
  border-right: 1px solid #d3d3d3;
  font-size: var(--text-sm);
  text-align: center;
}
.calendar .day-label:nth-child(1) { border-left: 1px solid #d3d3d3; }
.calendar .day-label abbr { text-decoration: none; }
.calendar .day {
  position: relative;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  padding: var(--space-sm) var(--space-3xs) var(--space-3xs);
  border-bottom: 1px solid #d3d3d3;
  border-right: 1px solid #d3d3d3;
  background-color: var(--c-bg);
  color: var(--c-text-strong);
}
.calendar .day:nth-child(7n + 1) { border-left: 1px solid #d3d3d3; }
.calendar .day.not-in-month { opacity: .5; }
.calendar .day.not-in-month .calendar-badge { background-color: #d3d3d3; }
.calendar .day.today { background-color: lightyellow; }
.calendar .day-number-label {
  position: absolute;
  top: 0;
  right: 6px;
  font-size: .8rem;
  pointer-events: none;
}
.calendar .calendar-events {
  max-height: 80px;
  overflow-y: auto;
  font-size: .75em;
  line-height: 1.3;
}
.calendar-event {
  display: block;
  margin-bottom: 3px;
  padding: 3px 5px;
  border-radius: 2px;
  background-color: rgba(213, 176, 149, .15);
  color: var(--c-sand);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
}
.calendar-event:hover { background-color: var(--c-sand); color: var(--c-text-invert); }
.calendar .event-calendar-event-title { font-size: .85rem; }
.calendar .day-mobile-events-info { position: absolute; bottom: 0; right: 4px; }

.calendar-badge {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 500px;
  background: var(--c-sand);
  color: var(--c-text-invert);
  font-size: 11px;
  line-height: 0;
}

.calendar-month-list { display: block; margin-top: var(--space-md); }
@media (max-width: 639px) {
  .calendar .calendar-events { display: none; }
}
@media (min-width: 640px) {
  .calendar .day-mobile-events-info { display: none; }
  .calendar-month-list { display: none; }
}

.event {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}
@media (min-width: 1200px) {
  .event {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }
}

.event__grid { display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) {
  .event__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-md); }
}
@media (min-width: 1200px) {
  .event__grid { column-gap: var(--space-lg); }
}

.event__media {
  align-self: start;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.event__image { display: block; width: 100%; height: 100%; object-fit: cover; }

.event__strip {
  display: flex;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.event__strip::-webkit-scrollbar { display: none; }
.event__slide { flex: 0 0 100%; height: 100%; scroll-snap-align: start; }

.event__card {
  background-color: var(--c-bg);
  color: var(--c-text);
  box-shadow: var(--shadow-md);
  padding: var(--space-md);
}
@media (min-width: 1200px) {
  .event__card { padding: var(--space-lg); }
}

.event__title {
  margin: 0 0 var(--space-sm);
  font-size: var(--text-xl);
  line-height: var(--lh-heading);
}
.event__headline {
  margin: var(--space-lg) 0 var(--space-sm);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--text-lg);
  line-height: var(--lh-snug);
  color: var(--c-navy);
}

.event-data-inner { color: var(--c-sand); }
.event-data-inner > * { color: var(--c-sand); }
.event-data-inner p { margin: 0; }
.event__info-heading { margin: 0; }
.event__info-lines { margin-top: var(--space-2xs); }
.event__info-line { display: flex; align-items: center; margin: 0; }
.event__dates { margin: 0; padding-left: var(--space-md); }

.event__text { margin: var(--space-sm) 0; }
.event__text > :first-child { margin-top: 0; }
.event__text > :last-child { margin-bottom: 0; }

.event__actions { margin: var(--space-sm) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-2xs); }

.cliff-form { width: 100%; }

.cliff-form .inquiry { display: block; }

.form-fields {
  display: grid;
  gap: var(--space-sm);
}

@media (min-width: 768px) {
  .form-fields { grid-template-columns: 1fr 1fr; column-gap: var(--space-md); }
  .form-fields > .field--textarea,
  .form-fields > .field--checkboxes,
  .form-fields > .field--radio { grid-column: 1 / -1; }
}

.form-actions { margin-top: var(--space-md); }
.form-actions .btn { min-width: 12rem; }

.field { min-width: 0; }

.field__label,
.field__legend {
  display: block;
  margin-bottom: var(--space-3xs);
  font-size: var(--text-sm);
  line-height: 28px;
  color: var(--c-text);
}

.field__legend { padding: 0; float: left; width: 100%; }
.field__group { display: block; }

.field__group:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }
.field__group::after { content: ""; display: table; clear: both; }

.field__required { color: var(--c-danger); margin-left: 2px; }

.field__instructions {
  margin: 0 0 var(--space-3xs);
  font-size: var(--text-xs);
  color: var(--c-text-muted);
}

.field__options { display: flex; flex-direction: column; gap: var(--space-3xs); padding-top: 4px; clear: both; }
.field__options--inline { flex-direction: row; flex-wrap: wrap; gap: var(--space-sm); }

.field .field__option {
  display: inline-flex;
  margin-bottom: 0;
  align-items: center;
  gap: var(--space-3xs);
  font-size: var(--text-base);
  line-height: var(--lh-body);
  cursor: pointer;

  min-height: 44px;
}
.field .field__option input { flex: none; }

.field--invalid .field__label,
.field--invalid .field__legend { color: var(--c-danger); }

.field--invalid input,
.field--invalid select,
.field--invalid textarea { border-color: var(--c-danger); }

.form-required-note {
  margin: 0 0 var(--space-sm);
  font-size: var(--text-xs);
  color: var(--c-text-muted);
}

.notice__heading {
  margin: 0 0 var(--space-3xs);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: var(--lh-snug);
}
.notice p:last-child { margin-bottom: 0; }
.notice ul { margin: var(--space-3xs) 0 0; padding-left: var(--space-sm); }
.notice li + li { margin-top: var(--space-3xs); }
.notice-success { border-left-color: var(--c-success); }

[data-form-errors]:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }

.notice-error a { color: var(--c-danger); }
.notice-error a:hover, .notice-error a:focus { text-decoration: underline; }

[data-form-submit][aria-disabled="true"] { opacity: .6; pointer-events: none; }

.signup-compact__heading {
  margin: 0 0 var(--space-3xs);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: var(--lh-snug);
}
.signup-compact__note { margin: 0 0 var(--space-xs); font-size: var(--text-sm); }

.signup-compact__row { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
.signup-compact__email { flex: 1 1 14rem; min-width: 0; }
.signup-compact__row .btn { flex: none; }

@media (max-width: 479px) {
  .signup-compact__row { display: block; }
  .signup-compact__row .btn { width: 100%; margin-top: var(--space-2xs); }
}

.btn-solid { background-color: var(--c-sand); color: var(--c-text-invert); border: 2px solid var(--c-sand); letter-spacing: var(--ls-button); transition: all var(--dur-slow) var(--ease); }
.btn-solid:hover { background-color: var(--c-sand-button-hover); border-color: var(--c-sand-button-hover); color: var(--c-text-invert); }
.btn-ghost { background-color: transparent; color: var(--c-teal); border: 2px solid var(--c-teal); letter-spacing: var(--ls-button); }
.btn-ghost:hover { background-color: var(--c-teal); color: var(--c-text-invert); }

.wrap {
  box-sizing: content-box;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-gutter);
  padding-right: var(--container-gutter);
}
.narrow { max-width: var(--container-max-xsmall); }
.small  { font-size: var(--text-sm); }

.h-small, .room-cat {
  font-family: var(--font-eyebrow);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin: 0 0 var(--space-2xs);
}

.scaffold-block { padding: var(--space-xl) 0; border-bottom: 1px solid var(--c-line); }
.scaffold-block:last-child { border-bottom: 0; }
.scaffold-split { display: grid; gap: var(--space-md); align-items: center; }
.has-image .scaffold-split, .scaffold-block .scaffold-split:has(.facts) { grid-template-columns: 1fr; }
@media (min-width: 960px) {
  .has-image .scaffold-split { grid-template-columns: 1fr 1fr; }
  .scaffold-split:has(.facts) { grid-template-columns: 3fr 2fr; align-items: start; }
}
figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ruled { list-style: none; margin: 0 0 var(--space-sm); padding: 0; }
.ruled li { padding: var(--space-2xs) 0; border-bottom: 1px solid var(--c-line); }
.plain { list-style: none; margin: 0; padding: 0; }
.plain li { margin: var(--space-3xs) 0; }
.scaffold-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-xs); }
.scaffold-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.scaffold-hero { position: relative; min-height: min(78dvh, 760px); display: grid; align-items: end; color: var(--c-text-invert); background: var(--c-navy); }
.scaffold-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.scaffold-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, var(--c-overlay-navy) 0%, rgba(59,77,109,.45) 45%, rgba(59,77,109,.1) 80%); }
.scaffold-hero-text { position: relative; z-index: var(--z-base); padding-top: var(--space-lg); padding-bottom: var(--space-xl); width: 100%; }
.scaffold-hero h1 { color: var(--c-text-invert); max-width: 18ch; }
.scaffold-hero .eyebrow { color: var(--c-sand); }
.scaffold-hero .lede { font-size: var(--text-md); max-width: 58ch; }
.scaffold-hero-plain { min-height: auto; background: var(--c-bg-muted); color: var(--c-text); }
.scaffold-hero-plain::after { display: none; }
.scaffold-hero-plain h1 { color: var(--c-navy); }
.scaffold-hero-plain .eyebrow { color: var(--c-text-muted); }

.room-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-lg) var(--space-md); grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.room-card a { display: block; text-decoration: none; color: inherit; }
.room-card img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; margin-bottom: var(--space-xs); transition: opacity var(--dur-base) var(--ease); }
.room-card a:hover img { opacity: .88; }
.room-card h3 { margin: 0 0 var(--space-3xs); }
.more { font-size: var(--text-sm); color: var(--c-sand); text-decoration: underline; }

.prose { padding-bottom: var(--space-xl); }
.scaffold-block .copy h2 { margin-top: 0; }
.scaffold-block .copy h3 { color: var(--c-navy); }
.scaffold-block .copy table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; }
.scaffold-block .copy td, .scaffold-block .copy th { border-bottom: 1px solid var(--c-line); padding: var(--space-3xs) var(--space-2xs); text-align: left; }

.search-page__hero > .container { margin-bottom: var(--space-lg); }
@media (min-width: 1200px) {
  .search-page__hero > .container { margin-bottom: var(--space-xl); }
}

.search-page__form-row {
  display: flex;
  justify-content: center;
  margin: var(--space-lg) 0;
}

.search-page__form-wrap { width: 100%; }
@media (min-width: 960px) {
  .search-page__form-wrap { width: calc(200% / 3); }
}

.search-page__form {
  position: relative;
  width: 100%;
  margin-left: calc(var(--space-xs) * -1);
  padding-left: var(--space-xs);
  background-color: var(--c-bg);
  box-shadow: var(--shadow-md);
}

input.search-page__input {
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  margin: 0;
  padding-left: var(--space-sm);

  border: none;
  border-radius: var(--radius-none);
  background: transparent;
  font-family: inherit;
  font-size: var(--text-md);
  color: var(--c-text);
  -webkit-appearance: none;
  appearance: none;
}
input.search-page__input::placeholder { color: var(--c-text); opacity: 1; }

input.search-page__input::-webkit-search-decoration,
input.search-page__input::-webkit-search-cancel-button { -webkit-appearance: none; }
@media (min-width: 960px) {
  input.search-page__input {
    height: 60px;
    font-size: var(--text-lg);
  }
}

.search-page__form:focus-within {
  outline: var(--focus-ring);
  outline-offset: 2px;
}

.search-page__submit {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  min-width: 100px;
  padding-left: var(--space-2xs);
  padding-right: var(--space-2xs);
}
@media (min-width: 960px) {
  .search-page__submit { display: flex; align-items: center; justify-content: center; }
}

.search-page__submit-icon { width: 28px; height: 28px; }

.search-page__submit-wide {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  width: 100%;
  margin-top: var(--space-xs);
}
@media (min-width: 960px) {
  .search-page__submit-wide { display: none; }
}

.search-page__submit-wide-icon { width: 22px; height: 22px; }

.search-page__message { display: flow-root; }
.search-page__count {
  margin: 0;
  color: var(--c-text-muted);
  font-size: var(--text-sm);
  letter-spacing: var(--ls-eyebrow);
  text-align: center;
  text-transform: uppercase;
}

.search-page__results-inner { display: flow-root; }

.search-page__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.search-page__item {
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--c-line);
}
.search-page__item:first-child { padding-top: 0; }
.search-page__item-title {
  margin: 0 0 var(--space-3xs);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  line-height: var(--lh-snug);
}
.search-page__item-link { color: var(--c-sand); text-decoration: none; }
.search-page__item-link:hover { color: var(--c-sand-hover); text-decoration: underline; }
.search-page__item-snippet { margin: 0; }

.search-page .pagination { margin: 0 0 var(--space-sm); }
.search-page__list + .pagination { margin-top: var(--space-sm); }
