/* The Cliff Hotel & Spa. BUILT FILE, DO NOT EDIT.
   Source: resources/css/hybrid/hybrid.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%);
}

.cards--layout-horizontal { max-width: 760px; }
.cards--layout-horizontal .cards-row > * { width: 100%; }
.cards--layout-horizontal .card { box-shadow: none; border: 1px solid var(--c-line); }
@media (min-width: 640px) {
  .cards--layout-horizontal .card { flex-direction: row; align-items: stretch; }
  .cards--layout-horizontal .card__media { width: 40%; aspect-ratio: auto; min-height: 200px; }
  .cards--layout-horizontal .card__body { flex: 1; align-self: center; padding: var(--space-md) var(--space-lg); }
}
.cards--layout-horizontal .card__body h3 { font-size: var(--text-lg); margin-bottom: .5em; }
.cards--layout-horizontal .card__body p { font-size: var(--text-sm); }

.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; } }

@media (max-width: 480px) {
  html:not([lang="en"]) .menu-section-title { letter-spacing: .2em; }
}

.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); }

:root {

  --sg-cream: #F5EFE4;
  --sg-paper: #FBF8F2;
  --sg-ink:   #2B2824;
  --sg-sea:   #1E4E5C;
  --sg-sea-2: #153A45;
  --sg-muted: #6A6259;
  --sg-line:  #E2D8C8;
  --sg-sea-tint: #DCE7EA;
  --sg-white: #FFFFFF;

  --sg-font-head: "Tsukimi Rounded", "Mulish", system-ui, sans-serif;
  --sg-font-body: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;

  --sg-radius-tile: 22px;
  --sg-radius-panel: 18px;
  --sg-radius-field: 12px;
  --sg-radius-pill: 999px;
  --sg-shadow-dock: 0 14px 34px rgba(43, 40, 36, .18);
  --sg-shadow-panel: 0 14px 30px rgba(0, 0, 0, .12);
  --sg-gap: 22px;

  --sg-wrap: 1240px;
  --sg-gutter: 32px;
  --sg-dock-h: 58px;
  --sg-dock-space: 96px;
  --sg-section: 110px;

  --c-sand:             var(--sg-sea);
  --c-sand-hover:       var(--sg-sea-2);
  --c-sand-button-hover:var(--sg-sea-2);
  --c-sand-checked:     var(--sg-sea);
  --c-navy:             var(--sg-ink);
  --c-navy-hover:       #000000;
  --c-teal:             var(--sg-sea);
  --c-text:             var(--sg-ink);
  --c-text-strong:      var(--sg-ink);
  --c-text-muted:       var(--sg-muted);
  --c-text-dim:         var(--sg-muted);
  --c-bg:               var(--sg-cream);
  --c-bg-muted:         var(--sg-paper);
  --c-bg-hover:         var(--sg-cream);
  --c-bg-subtle:        var(--sg-paper);
  --c-frame:            var(--sg-cream);
  --c-line:             var(--sg-line);
  --c-line-list:        var(--sg-line);
  --c-line-strong:      #CFC3AF;
  --c-line-control:     #CFC3AF;
  --c-line-light:       var(--sg-line);
  --c-divider-sand:     var(--sg-line);
  --c-overlay-navy:     rgba(21, 58, 69, .84);

  --font-body:    var(--sg-font-body);
  --font-heading: var(--sg-font-head);
  --font-eyebrow: var(--sg-font-body);

  --text-base: 17px;
  --lh-body:   1.75;
  --text-3xl:  clamp(2.125rem, 1.4rem + 2.6vw, 3.625rem);
  --text-2xl:  clamp(1.75rem, 1.3rem + 1.6vw, 2.625rem);
  --text-xl:   clamp(1.625rem, 1.3rem + 1vw, 2.25rem);
  --text-lg:   1.5rem;
  --lh-tight:   1.15;
  --lh-heading: 1.18;
  --lh-snug:    1.3;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --radius-booking-button: 999px;

  --container-max:        1176px;
  --container-max-large:  1240px;
  --container-max-xlarge: 1480px;
  --frame-width: 0px;
}

html { background: var(--sg-cream); }

body {
  background: var(--sg-cream);
  color: var(--sg-ink);
  font-family: var(--sg-font-body);
  font-size: var(--text-base);
  line-height: var(--lh-body);

  padding-bottom: var(--sg-dock-space);
  border: 0;
  -webkit-font-smoothing: antialiased;
}

@media (min-width: 960px) {
  :root { --container-gutter: var(--sg-gutter); }
}
@media (max-width: 900px) {
  :root { --sg-gutter: 20px; --sg-section: 72px; }
}

h1, h2, h3, h5, h6 {
  font-family: var(--sg-font-head);
  font-weight: 700;
  color: var(--sg-ink);
  letter-spacing: 0;
  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, .eyebrow, .sg-eye {
  font-family: var(--sg-font-body);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-sea);
}

a { color: var(--sg-sea); }
a:hover { color: var(--sg-sea-2); }

p, ul, ol { overflow-wrap: break-word; }

.text-lead, .sg-lead { color: var(--sg-muted); font-size: 18px; line-height: 1.75; }
.text-meta { color: var(--sg-muted); }

hr { border-top-color: var(--sg-line); }

blockquote {
  font-family: var(--sg-font-head);
  font-weight: 500;
  color: var(--sg-ink);
}

:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }
.on-dark :focus-visible { outline-color: #fff; }

::selection { background: var(--sg-sea); color: #fff; }

.skip { background: var(--sg-paper); color: var(--sg-ink); border-radius: var(--sg-radius-field); }
.skip:focus { color: var(--sg-ink); z-index: 1000; padding: 10px 14px; }

.sg-wrap {
  max-width: var(--sg-wrap);
  margin-inline: auto;
  padding-inline: var(--sg-gutter);
}

@media (min-width: 960px) {
  .section { padding-top: 90px; padding-bottom: 90px; }
}
.section-muted { background: var(--sg-paper); }
.section-secondary { background: var(--sg-sea); }
.section-primary { background: var(--sg-sea); color: #fff; }

html, body { overflow-x: clip; }

.visually-hidden, .sg-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.btn,
.block .uk-button:not(.uk-button-link):not(.uk-button-text),
.sg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: var(--sg-radius-pill);
  font-family: var(--sg-font-body);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

@media (max-width: 560px) {
  .btn, .block .uk-button, .sg-btn { white-space: normal; text-align: center; }
}

.btn-fill, .btn-navy,
.block .uk-button-primary, .block .uk-button-secondary, .block .uk-button-third,
.sg-btn {
  background: var(--sg-ink);
  border-color: var(--sg-ink);
  color: #fff;
}
.btn-fill:hover, .btn-navy:hover, .btn-fill:active, .btn-navy:active,
.block .uk-button-primary:hover, .block .uk-button-secondary:hover, .block .uk-button-third:hover,
.sg-btn:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}

.btn-outline, .block .uk-button-default, .sg-btn--outline {
  background: transparent;
  border-color: var(--sg-ink);
  color: var(--sg-ink);
}
.btn-outline:hover, .btn-outline:active,
.block .uk-button-default:hover, .sg-btn--outline:hover {
  background: var(--sg-ink);
  border-color: var(--sg-ink);
  color: #fff;
}

.on-dark .btn-fill, .on-dark .btn-navy, .on-dark .btn-outline,
.block.on-dark .uk-button:not(.uk-button-link):not(.uk-button-text),
.on-dark .block .uk-button:not(.uk-button-link):not(.uk-button-text),
.sg-on-sea .sg-btn {
  background: #fff;
  border-color: #fff;
  color: var(--sg-sea);
}
.on-dark .btn-fill:hover, .on-dark .btn-navy:hover, .on-dark .btn-outline:hover,
.block.on-dark .uk-button:not(.uk-button-link):not(.uk-button-text):hover,
.on-dark .block .uk-button:not(.uk-button-link):not(.uk-button-text):hover,
.sg-on-sea .sg-btn:hover {
  background: var(--sg-cream);
  border-color: var(--sg-cream);
  color: var(--sg-sea-2);
}

.btn-link, .btn-text, .block .uk-button-link, .block .uk-button-text, .sg-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--sg-sea);
  font-family: var(--sg-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
  text-decoration: none;
}
.btn-link::after, .block .uk-button-link::after, .sg-link::after {
  content: "\00a0\00a0\2192";
  position: static;
  height: auto;
  background: none;
  transform: none;
  transition: transform .2s ease;
}
.btn-link::before, .btn-text::before,
.block .uk-button-link::before, .block .uk-button-text::before { display: none; }
.btn-link:hover, .btn-text:hover, .block .uk-button-link:hover, .block .uk-button-text:hover, .sg-link:hover {
  color: var(--sg-sea-2);
  background: none;
  text-decoration: none;
}
.btn-link:hover::after, .block .uk-button-link:hover::after, .sg-link:hover::after {
  transform: translateX(3px);
}
.on-dark .btn-link, .on-dark .btn-text,
.block.on-dark .uk-button-link, .on-dark .block .uk-button-link,
.block.on-dark .uk-button-text, .on-dark .block .uk-button-text {
  color: #fff;
}

.btn-small { min-height: 38px; padding: 0 18px; font-size: 12px; }
.btn-large { min-height: 52px; padding: 0 32px; }
.btn-field-height { min-height: 46px; }

.sg-wall {
  columns: 3 340px;
  column-gap: var(--sg-gap);
}
.sg-wall > * { break-inside: avoid; margin: 0 0 var(--sg-gap); }

.sg-grid {
  display: grid;
  gap: var(--sg-gap);
  grid-template-columns: repeat(var(--sg-cols, 3), minmax(0, 1fr));
}
.sg-grid--2 { --sg-cols: 2; }
.sg-grid--3 { --sg-cols: 3; }
.sg-grid--4 { --sg-cols: 4; }
@media (max-width: 1100px) { .sg-grid--4 { --sg-cols: 3; } }
@media (max-width: 900px)  { .sg-grid--3, .sg-grid--4 { --sg-cols: 2; } }
@media (max-width: 600px)  { .sg-grid { --sg-cols: 1; } }

.sg-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
  color: var(--sg-ink);
}
.sg-tile__media { display: block; width: 100%; height: auto; object-fit: cover; }
.sg-tile__body {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 26px 28px 30px;
}
.sg-tile__body > * { margin: 0; }
.sg-tile__body p { color: var(--sg-muted); }
.sg-tile h2 { font-size: clamp(24px, 2.2vw, 30px); }
.sg-tile h3 { font-size: 24px; }

.sg-tile--photo { background: none; border: 0; }
.sg-tile--photo .sg-tile__media { border-radius: var(--sg-radius-tile); }

.sg-tile--sea, .sg-on-sea { background: var(--sg-sea); border-color: var(--sg-sea); color: #fff; }
.sg-tile--sea h2, .sg-tile--sea h3, .sg-tile--sea h4, .sg-tile--sea .sg-eye,
.sg-on-sea h2, .sg-on-sea h3, .sg-on-sea h4, .sg-on-sea .sg-eye { color: #fff; }
.sg-tile--sea .sg-tile__body p, .sg-on-sea p { color: var(--sg-sea-tint); }
.sg-tile--sea a:not(.sg-btn) { color: #fff; }

.sg-tile a.sg-tile__cover::after { content: ""; position: absolute; inset: 0; }
.sg-tile:has(a.sg-tile__cover:hover) .sg-tile__media { transform: scale(1.02); }
.sg-tile__media { transition: transform .6s ease; }

.sg-r45 { aspect-ratio: 4 / 5; }
.sg-r32 { aspect-ratio: 3 / 2; }
.sg-r11 { aspect-ratio: 1; }
.sg-r169 { aspect-ratio: 16 / 9; }
.sg-r43 { aspect-ratio: 4 / 3; }

.sg-round { border-radius: var(--sg-radius-tile); overflow: hidden; }

.sg-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.sg-head h2 { font-size: clamp(28px, 3vw, 42px); margin: 0; }
.sg-head .sg-eye { margin: 0 0 12px; }

.sg-section { padding-block: var(--sg-section); }
.sg-section--paper { background: var(--sg-paper); }
.sg-section--sea { background: var(--sg-sea); color: #fff; }

.sg-dock-wrap { position: relative; z-index: 900; }

.sg-dock {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 910;
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: calc(100vw - 24px);
  min-height: var(--sg-dock-h);
  padding: 6px 6px 6px 18px;
  background: rgba(251, 248, 242, .97);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  box-shadow: var(--sg-shadow-dock);
  font-family: var(--sg-font-body);
  -webkit-backdrop-filter: saturate(1.2) blur(8px);
  backdrop-filter: saturate(1.2) blur(8px);
}

.sg-dock__logo { display: flex; align-items: center; flex: none; min-height: 44px; }
.sg-dock__logo img { display: block; height: 30px; width: auto; }

.sg-dock__groups {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 0;
  padding: 0 8px;
  list-style: none;
}

.sg-dd { position: relative; }
.sg-dd__trigger {
  min-height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--sg-radius-pill);
  background: none;
  color: var(--sg-ink);
  font: 700 14px/1 var(--sg-font-body);
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease;
}
.sg-dd__trigger:hover,
.sg-dd__trigger[aria-expanded="true"],
.sg-dd.is-current > .sg-dd__trigger { background: var(--sg-cream); }
.sg-dd.is-current > .sg-dd__trigger { box-shadow: inset 0 -2px 0 var(--sg-sea); }

.sg-dd__panel {
  position: absolute;
  bottom: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 920;
  min-width: 230px;
  padding: 18px 22px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-panel);
  box-shadow: var(--sg-shadow-panel);
}

.sg-dd__panel::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -18px;
  height: 18px;
}
.sg-dd__panel[hidden] { display: none; }
.sg-dd__panel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sg-dd__panel a {
  display: block;
  padding: 4px 0;
  color: var(--sg-ink);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
}
.sg-dd__panel a:hover, .sg-dd__panel a[aria-current] { color: var(--sg-sea); }

.sg-dd__panel--cols {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(170px, max-content);
  gap: 28px;
  padding: 22px 26px;
}
.sg-dd__head, p.sg-dd__head {
  display: block;
  margin: 0 0 8px;
  line-height: 1.4;
  padding: 0 0 8px !important;
  border-bottom: 1px solid var(--sg-line);
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sg-sea) !important;
}

.sg-dock__groups > .sg-dd:first-child .sg-dd__panel { left: 0; transform: none; }
.sg-dock__groups > .sg-dd:last-child .sg-dd__panel { left: auto; right: 0; transform: none; }

.sg-dock__menu {
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 12px;
  border-radius: var(--sg-radius-pill);
  color: var(--sg-ink);
  font: 700 13px/1 var(--sg-font-body);
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
}
.sg-dock__menu:hover, .sg-dock__menu:focus { color: var(--sg-ink); background: var(--sg-cream); text-decoration: none; }
.sg-dock__bars { display: grid; gap: 5px; width: 18px; }
.sg-dock__bars i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .25s ease; }
.sg-dock__menu[aria-expanded="true"] .sg-dock__bars i:first-child { transform: translateY(3.5px) rotate(45deg); }
.sg-dock__menu[aria-expanded="true"] .sg-dock__bars i:last-child  { transform: translateY(-3.5px) rotate(-45deg); }

.sg-dock__book { flex: none; }

.sg-sheet {
  position: fixed;
  inset: 0 0 0 0;
  z-index: 905;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--sg-paper);
  padding: 28px var(--sg-gutter) calc(var(--sg-dock-space) + 24px);
}
.sg-sheet[hidden] { display: none; }
.sg-sheet__inner { display: grid; gap: 26px; max-width: 560px; margin: 0 auto; }
.sg-sheet__label {
  margin: 0 0 8px;
  font: 700 11px/1.4 var(--sg-font-body);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--sg-sea);
}
.sg-sheet ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sg-sheet a, .sg-sheet li > span {
  display: block;
  padding: 6px 0;
  color: var(--sg-ink);
  font-family: var(--sg-font-head);
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
}
.sg-sheet a[aria-current] { color: var(--sg-sea); }
.sg-sheet li li a {
  font-family: var(--sg-font-body);
  font-size: 16px;
  font-weight: 600;
  padding: 5px 0 5px 16px;
  color: var(--sg-muted);
}
.sg-sheet li ul { margin: 0 0 8px; border-left: 1px solid var(--sg-line); }
.sg-sheet__phone a { font-family: var(--sg-font-body); font-size: 17px; font-weight: 700; color: var(--sg-sea); }
.sg-sheet__book { justify-self: start; }
html.sg-sheet-open, html.sg-sheet-open body { overflow: hidden; }

@media (max-width: 900px) {
  .sg-dock {
    left: 12px;
    right: 12px;
    bottom: 12px;
    transform: none;
    justify-content: space-between;
    padding-left: 14px;
    max-width: none;
  }
  .sg-dock__groups { display: none; }
  .sg-dock__menu { display: inline-flex; margin-left: auto; }
  :root { --sg-dock-space: 84px; }
}
@media (max-width: 420px) {
  .sg-dock { gap: 2px; padding: 5px 5px 5px 12px; }
  .sg-dock__logo img { height: 24px; }
  .sg-dock__menu { padding: 0 8px; letter-spacing: .08em; }
  .sg-dock__menu .sg-dock__bars { display: none; }
  .sg-dock__book { padding: 0 16px; letter-spacing: .04em; }
}
@media (max-width: 340px) {
  .sg-dock__logo { display: none; }
}

@media print { .sg-dock-wrap { display: none; } body { padding-bottom: 0; } }

.site-footer {
  font-family: var(--sg-font-body);
  font-size: 16px;
  line-height: 1.7;

  margin-bottom: calc(var(--sg-dock-space) * -1);
}
.site-footer__media { background: var(--sg-sea-2); }
.site-footer__scrim { background: rgba(21, 58, 69, .84); }

.site-footer__container {
  max-width: var(--sg-wrap);
  margin-inline: auto;
  padding: 80px var(--sg-gutter) calc(40px + var(--sg-dock-space));
}
.site-footer__container > .section { padding: 0; }

.footer-cols {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.footer-col { display: block; width: auto; order: 0; margin: 0; }
.footer-col::before, .footer-col--address::before { display: none !important; }
.footer-col > div { width: 100%; }

.footer-signup { width: 100% !important; }
.footer-signup__intro { text-align: left; }
.footer-signup__intro::before {
  content: "";
  display: block;
  width: 200px;
  max-width: 70%;
  aspect-ratio: 283 / 93;
  margin-bottom: 28px;
  background: url(/assets/brand/logo.png) left center / contain no-repeat;
  filter: brightness(0) invert(1);
}
.footer-signup__heading {
  margin: 0 0 8px;
  font-family: var(--sg-font-head);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #fff;
  text-align: left;
}
.footer-signup__intro p { margin: 0; color: var(--sg-sea-tint); }
.footer-signup__form { width: 100% !important; margin: 18px 0 0; }
.footer-signup__row { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; }
.footer-signup__email { flex: 1 1 200px; }
.footer-signup__email input {
  width: 100%;
  height: 46px;
  padding: 0 16px;
  border: 0;
  border-radius: var(--sg-radius-pill);
  background: #fff;
  color: var(--sg-ink);
  font: 400 15px/1 var(--sg-font-body);
}
.footer-signup__email input::placeholder { color: var(--sg-muted); opacity: 1; }
.footer-signup__row .btn,
.on-dark .footer-signup__row .btn-outline { background: #fff; border-color: #fff; color: var(--sg-ink); }
.footer-signup__row .btn:hover { background: var(--sg-cream); border-color: var(--sg-cream); color: var(--sg-ink); }
.footer-signup__notice { text-align: left; }

.footer-social { justify-content: flex-start; gap: 8px; margin: 22px 0 0; padding: 0; }
.footer-social > * { padding: 0; }
.footer-social a {
  width: 44px; height: 44px;
  align-items: center; justify-content: center;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
  color: #fff;
}
.footer-social a:hover { background: rgba(255, 255, 255, .12); color: #fff; }

.footer-nav { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; text-align: left; }
.footer-nav__link {
  display: inline-flex;
  width: auto;
  min-height: 36px;
  align-items: center;
  padding: 0;
  background: none;
  color: #fff;
  font: 600 15px/1.4 var(--sg-font-body);
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
}
.footer-nav__link:hover { color: var(--sg-sea-tint); text-decoration: underline; }
.footer-nav .is-current > .footer-nav__link { color: #fff; text-decoration: underline; text-underline-offset: 4px; }

.footer-address { text-align: left; }
.footer-address p { margin: 0 0 14px; color: #fff; }
.footer-address a { color: #fff; }
.footer-address a:hover { color: var(--sg-sea-tint); }
.footer-address .text-small { font-size: 14px; }

.footer-copyright { margin-top: 48px; text-align: left; color: var(--sg-sea-tint); font-size: 13px; }
.footer-copyright a { color: #fff; }
.footer-copyright--narrow { display: none; }
.footer-copyright--wide { display: block; }

@media (max-width: 900px) {
  .footer-cols { grid-template-columns: 1fr; gap: 36px; }
  .site-footer__container { padding-top: 60px; }
}

.site-footer.on-dark .footer-signup__email input[type="email"] {
  background: #fff;
  border: 0;
  color: var(--sg-ink);
  border-radius: var(--sg-radius-pill);
  height: 46px;
  padding: 0 16px;
}
.site-footer.on-dark .footer-signup__email input[type="email"]::placeholder { color: var(--sg-muted); }
.footer-copyright small { font-size: 13px; text-transform: none; letter-spacing: 0; }

.hero-booking {
  position: relative;
  bottom: auto;
  margin: 36px auto 0;
  padding: 0 var(--sg-gutter);
  max-width: calc(1040px + var(--sg-gutter) * 2);
  z-index: 50;
}
@media (min-width: 960px) { .hero-booking { margin-bottom: 0; } }
.hero.hero-with-booking { margin-bottom: 0; }

.booking-bar { --booking-pill-radius: var(--sg-radius-tile); color: var(--sg-ink); }
.booking-bar__container { width: auto; padding: 0; }
html.js .booking-bar__panel,
.booking-bar__panel {
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  padding: 18px 18px 18px 28px;
}
.booking-bar__row { justify-content: space-between; }
.booking-field__label {
  font: 600 11px/1.4 var(--sg-font-body) !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
  color: var(--sg-muted) !important;
}
.booking-field__display {
  font-family: var(--sg-font-body);
  font-size: 16px;
  font-weight: 600;
  color: var(--sg-ink);
}
.booking-field__icon { color: var(--sg-sea); }
.booking-bar .booking-submit {
  min-height: 52px;
  background: var(--sg-ink);
  border-color: var(--sg-ink);
  color: #fff;
}
.booking-bar .booking-submit:hover { background: #000; border-color: #000; }
.booking-guests-panel, .booking-calendar .flatpickr-calendar {
  border-radius: var(--sg-radius-panel) !important;
  border: 1px solid var(--sg-line);
  box-shadow: var(--sg-shadow-panel) !important;
  background: var(--sg-paper);
}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange,
.flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover {
  background: var(--sg-sea) !important;
  border-color: var(--sg-sea) !important;
  color: #fff !important;
}
.flatpickr-day.inRange { background: var(--sg-cream) !important; border-color: var(--sg-cream) !important; box-shadow: -5px 0 0 var(--sg-cream), 5px 0 0 var(--sg-cream) !important; }

@media (max-width: 900px) {
  .hero-booking { margin-top: 20px; padding: 0 var(--sg-gutter); }
  .booking-bar__panel { padding: 12px 12px 12px 18px; }
}

.sg-hero-mark {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.sg-hero-mark img { width: min(560px, 74vw); height: auto; filter: brightness(0) invert(1) drop-shadow(0 2px 18px rgba(0,0,0,.25)); }

.sg .hero-video-toggle {
  top: 24px;
  bottom: auto;
  right: 24px;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 50%;
  color: #fff;
}

.cookie-banner, .cookie-options, .cookie-message {
  left: auto;
  right: 20px;
  bottom: calc(var(--sg-dock-h) + 40px);
  width: 360px;
  max-width: calc(100vw - 40px);
  margin: 0;
  padding: 22px 24px;
  background: var(--sg-paper);
  color: var(--sg-ink);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-panel);
  box-shadow: var(--sg-shadow-panel);
  font-family: var(--sg-font-body);
  font-size: 14px;
  line-height: 1.55;
}
.cookie-banner.on-dark, .cookie-options.on-dark, .cookie-message.on-dark { color: var(--sg-ink); }
.cookie-consent .cookie-title {
  margin: 0 0 8px;
  font-family: var(--sg-font-head);
  font-size: 19px;
  font-weight: 700;
  color: var(--sg-ink);
  letter-spacing: 0;
  text-transform: none;
}
.cookie-consent .cookie-text a { color: var(--sg-sea); }
.cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 14px; }
.cookie-consent .cookie-accept { flex: 0 0 auto; background: var(--sg-ink); border-color: var(--sg-ink); color: #fff; }
.cookie-consent .cookie-accept:hover { background: #000; border-color: #000; color: #fff; }
.cookie-consent .btn-link { color: var(--sg-sea); }
.cookie-consent :focus-visible { outline-color: var(--sg-sea); }
.cookie-options__close { color: var(--sg-ink); }
.cookie-groups label { color: var(--sg-ink); }
.cookie-groups input { accent-color: var(--sg-sea); width: 18px; height: 18px; }
.cookie-message { width: auto; }

@media (max-width: 900px) {
  .cookie-banner, .cookie-options, .cookie-message {
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
    bottom: calc(var(--sg-dock-space) + 4px);
  }
}

.sg-notice {
  position: fixed;
  left: 20px;
  bottom: calc(var(--sg-dock-h) + 40px);
  z-index: 880;
  width: 300px;
  max-width: calc(100vw - 40px);
  overflow: hidden;
  background: var(--sg-paper);
  color: var(--sg-ink);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-panel);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
}
.sg-notice--right { left: auto; right: 20px; }
.sg-notice[hidden] { display: none; }
.sg-notice__media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.sg-notice__text { padding: 22px 24px 18px; }
.sg-notice__text > :first-child { margin-top: 0; }
.sg-notice__text h2, .sg-notice__text h3 { margin: 0 0 8px; padding-right: 28px; font-size: 20px; color: var(--sg-ink); }
.sg-notice__text p { margin: 0 0 10px; font-size: 14px; line-height: 1.55; color: var(--sg-ink); }
.sg-notice__text p:last-child { margin-bottom: 0; }
.sg-notice .uk-button, .sg-notice .uk-button-link {
  display: inline-flex; align-items: center; min-height: 44px;
  padding: 0; border: 0; background: none;
  color: var(--sg-sea); font: 700 13px/1.3 var(--sg-font-body);
  letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
}
.sg-notice .uk-button::after { content: "\00a0\00a0\2192"; }
.sg-notice__close {
  position: absolute;
  top: 6px;
  right: 8px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(251, 248, 242, .9);
  color: var(--sg-ink);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.sg-notice__close:hover { background: var(--sg-cream); }
.sg-notice-enter { transition: opacity .4s ease, transform .4s ease; }
.sg-notice-from { opacity: 0; transform: translateY(12px); }
.sg-notice-to { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .sg-notice { left: 12px; right: 12px; width: auto; bottom: calc(var(--sg-dock-space) + 4px); }
}
@media (prefers-reduced-motion: reduce) { .sg-notice-enter { transition: none; } }

@media (max-width: 900px) {
  .sg-notice__media { display: none; }
  .sg-notice__text { padding: 14px 52px 12px 18px; }
  .sg-notice__text h2, .sg-notice__text h3 { font-size: 17px; margin-bottom: 4px; padding-right: 0; }
  .sg-notice__text p { font-size: 13px; line-height: 1.45; margin-bottom: 4px; }
  .sg-notice__text p:not(:has(a)) {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sg-notice .uk-button, .sg-notice .uk-button-link, .sg-notice .sg-link { min-height: 36px; }
  .sg-notice__close { top: 4px; right: 4px; }
}

.sg-lang { position: relative; flex: none; }
.sg-lang__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  min-width: 44px;
  padding: 0 12px;
  border: 0;
  border-radius: var(--sg-radius-pill);
  background: none;
  color: var(--sg-ink);
  font: 700 12px/1 var(--sg-font-body);
  letter-spacing: .1em;
  cursor: pointer;
}
.sg-lang__toggle:hover, .sg-lang__toggle[aria-expanded="true"] { background: var(--sg-cream); }
.sg-lang__globe { flex: none; }

.sg-lang__panel {
  position: absolute;
  right: -60px;
  bottom: calc(100% + 16px);
  z-index: 920;
  min-width: 250px;
  max-height: min(70vh, 460px);
  overflow-y: auto;
  padding: 10px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-panel);
  box-shadow: var(--sg-shadow-panel);
}
.sg-lang__panel::after { content: ""; position: absolute; left: 0; right: 0; bottom: -18px; height: 18px; }
.sg-lang__panel[hidden] { display: none; }
.sg-lang__panel ul { list-style: none; margin: 0; padding: 0; }
.sg-lang__panel a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 10px;
  color: var(--sg-ink);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
}
.sg-lang__panel a:hover, .sg-lang__panel a:focus-visible { background: var(--sg-cream); color: var(--sg-ink); }
.sg-lang__panel .is-current a { color: var(--sg-sea); }
.sg-lang__short { font-size: 11px; letter-spacing: .14em; color: var(--sg-muted); }

@media (max-width: 900px) {
  .sg-lang__panel { right: -96px; }
}
@media (max-width: 420px) {
  .sg-lang__toggle { padding: 0 8px; gap: 4px; }
  .sg-lang__panel { position: fixed; left: 12px; right: 12px; bottom: 84px; min-width: 0; }
  .sg-lang__panel::after { display: none; }
}

.block-hero { position: relative; }
.block-hero .hero-slideshow { position: relative; overflow: hidden; background: var(--sg-ink); }
.block-hero .hero-slides,
.block-hero.hero-h-large .hero-slides {
  height: clamp(440px, 66vh, 760px);
  min-height: 0;
}

.block-hero.hero-with-booking .hero-slides {
  height: 100vh;
  height: 100svh;
  min-height: 600px;
  max-height: 980px;
}
@media (max-width: 900px) {
  .block-hero .hero-slides,
  .block-hero.hero-h-large .hero-slides { height: clamp(380px, 62vh, 620px); }
}

.block-hero:not(.hero-with-booking) .hero-slideshow {
  border-radius: 0 0 var(--sg-radius-tile) var(--sg-radius-tile);
}
@media (min-width: 901px) {
  .block-hero:not(.hero-with-booking) .hero-slideshow { border-radius: 0 0 36px 36px; }
}

.block-hero .hero-slideshow::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(20, 18, 16, .22) 0%, rgba(20, 18, 16, 0) 22%),
    linear-gradient(0deg, rgba(20, 18, 16, .28) 0%, rgba(20, 18, 16, 0) 32%);
}
.block-hero .hero-slide--video .hero-media { opacity: .9; }

.block-hero .hero-video-toggle {
  top: 24px;
  right: 24px;
  bottom: auto;
  left: auto;
  z-index: 3;
  width: 44px;
  height: 44px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 50%;
  background: rgba(20, 18, 16, .12);
  color: #fff;
  filter: none;
  transition: background-color .25s ease;
}
.block-hero .hero-video-toggle:hover { background: rgba(20, 18, 16, .32); }
.block-hero .hero-video-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.block-hero .hero-video-toggle .icon { width: 18px; height: 18px; }
@media (max-width: 600px) {
  .block-hero .hero-video-toggle { top: 16px; right: 16px; }
}

.block-hero .sg-hero-mark { z-index: 2; }

.block-hero .hero-nav { display: block; }
.block-hero .hero-nav__arrow {
  z-index: 3;
  width: 48px;
  height: 48px;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: var(--sg-paper);
  color: var(--sg-ink);
  filter: none;
  box-shadow: 0 6px 18px rgba(20, 18, 16, .16);
  transition: background-color .25s ease, color .25s ease;
}
.block-hero .hero-nav__arrow .icon { width: 20px; height: 20px; }
.block-hero .hero-nav__arrow:hover { background: #fff; color: var(--sg-sea); }
.block-hero .hero-nav__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.block-hero .hero-nav__arrow--prev { left: 24px; }
.block-hero .hero-nav__arrow--next { right: 24px; }
@media (max-width: 959px) {

  .block-hero .hero-nav { display: none; }
}

.block-hero .hero-dots {
  display: flex;
  left: 50%;
  right: auto;
  bottom: 24px;
  z-index: 3;
  transform: translateX(-50%);
  gap: 2px;
  padding: 2px 8px;
  border-radius: var(--sg-radius-pill);
  background: rgba(20, 18, 16, .28);
}
.block-hero .hero-dots li { display: flex; }

.block-hero .hero-dot {
  position: relative;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
.block-hero .hero-dot::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 8px; height: 8px;
  margin: -4px 0 0 -4px;
  border: 1px solid #fff;
  border-radius: 50%;
  transition: background-color .25s ease, transform .25s ease;
}
.block-hero .hero-dot.is-current::before { background: #fff; transform: scale(1.15); }
.block-hero .hero-dot:hover::before { background: rgba(255, 255, 255, .6); }
.block-hero .hero-dot:focus-visible { outline: 2px solid #fff; outline-offset: 0; }

.block-hero .hero-caption {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  color: #fff;
  pointer-events: none;
}
.block-hero .hero-caption > div {
  position: static;
  transform: none;
  min-width: 0;
  width: auto;
  max-width: var(--sg-wrap);
  margin: 0 auto;
  padding: 0 var(--sg-gutter) 72px;
  background: none;
  text-align: center;
  pointer-events: auto;
}
.block-hero .hero-caption > div::before { display: none; }
.block-hero .hero-caption > div > *,
.block-hero .hero-caption h2 {
  color: #fff;
  text-shadow: 0 1px 18px rgba(0, 0, 0, .28);
}
.block-hero .hero-caption h2 {
  margin: 0 0 10px;
  font-family: var(--sg-font-head);
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.block-hero .hero-caption p { max-width: 640px; margin-inline: auto; font-size: 18px; }

.block-hero .hero-goto {
  z-index: 3;
  bottom: 14px;
  width: 44px;
  height: 56px;
}
.block-hero .hero-goto::after { width: 1px; background: #fff; }
.block-hero .hero-goto:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.block-hero .hero-slideshow:has(.hero-dots) .hero-goto { display: none; }

.block-hero.hero-with-booking .hero-dots { bottom: calc(var(--sg-dock-space) + 12px); }
.block-hero.hero-with-booking .hero-goto { bottom: calc(var(--sg-dock-space) + 8px); }
.block-hero.hero-with-booking .hero-caption > div { padding-bottom: calc(var(--sg-dock-space) + 72px); }

.block-hero .hero-cta {
  top: 84px;
  right: 24px;
  bottom: auto;
  z-index: 3;
  gap: 10px;
  transform: none;
  font-family: var(--sg-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}
.block-hero .hero-cta .cta,
.block-hero .hero-cta .cta:not(.cta-1),
.block-hero .hero-cta .cta:not(.cta-1).cta-text {
  margin: 0;
  width: 112px;
  height: 112px;
}
.block-hero .hero-cta .cta-text,
.block-hero .hero-cta .cta-1.cta-text,
.block-hero .hero-cta .cta:not(.cta-1).cta-text {
  padding: 14px;
  border: 1px solid var(--sg-line);
  background: var(--sg-paper);
  color: var(--sg-ink);
  box-shadow: 0 8px 22px rgba(20, 18, 16, .18);
}
.block-hero .hero-cta .cta-text:hover,
.block-hero .hero-cta .cta-1.cta-text:hover,
.block-hero .hero-cta .cta:not(.cta-1).cta-text:hover { background: #fff; color: var(--sg-sea); }
.block-hero .hero-cta .cta-image img { border-radius: 50%; }
.block-hero .hero-cta .cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 600px) {
  .block-hero .hero-cta { top: 72px; right: 16px; }
  .block-hero .hero-cta .cta,
  .block-hero .hero-cta .cta:not(.cta-1),
  .block-hero .hero-cta .cta:not(.cta-1).cta-text { width: 88px; height: 88px; font-size: 11px; }
}

.block-hero .hero-cta-strip,
.block-hero .hero-cta-strip--with-booking {
  --hero-cta-strip-top-offset: 36px;
  --hero-cta-strip-top-padding: 0px;
  padding-bottom: 0;
}
.block-hero .hero-cta-strip__grid { gap: var(--sg-gap); }
.block-hero .hero-cta-strip__grid > * { min-width: 0; }
.block-hero .hero-cta-strip__card,
.block-hero .hero-cta-strip__card-column:last-child .hero-cta-strip__card,
.block-hero .hero-cta-strip__card--intro {
  border-radius: var(--sg-radius-tile);
  box-shadow: none;
  min-height: 280px;
}
.block-hero .hero-cta-strip__card--intro {
  justify-content: flex-end;
  padding: 32px 30px;
  background-color: var(--sg-sea);
  color: #fff;
}
.block-hero .hero-cta-strip__title {
  font-family: var(--sg-font-head);
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: 0;
  text-transform: none;
  color: #fff;
  overflow-wrap: anywhere;
}
.block-hero .hero-cta-strip__text, .block-hero .hero-cta-strip__text p { color: var(--sg-sea-tint); }
.block-hero .hero-cta-strip__text a { color: #fff; }
.block-hero .hero-cta-strip__card--media { background-color: var(--sg-ink); }
.block-hero .hero-cta-strip__card--media:hover,
.block-hero .hero-cta-strip__card--media:focus { box-shadow: none; transform: none; }
.block-hero .hero-cta-strip__card--media:hover .hero-cta-strip__picture img { transform: scale(1.03); }
.block-hero .hero-cta-strip__picture img { transition: transform .6s ease; }
.block-hero .hero-cta-strip__scrim { background: linear-gradient(180deg, rgba(20, 18, 16, 0) 40%, rgba(20, 18, 16, .62) 100%); }
.block-hero .hero-cta-strip__icon {
  width: 48px; height: 48px;
  border: 1px solid var(--sg-line);
  background: var(--sg-paper);
  color: var(--sg-ink);
}
.block-hero .hero-cta-strip__caption {
  font-family: var(--sg-font-head);
  font-size: 20px;
  letter-spacing: 0;
  text-transform: none;
}
.block-hero .hero-cta-strip__links { justify-content: center; gap: 14px; }
.block-hero .hero-cta-strip__link { color: var(--sg-ink); font-weight: 600; }
.block-hero .hero-cta-strip__link > span:last-child {
  border: 0;
  color: var(--sg-sea);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.block-hero .hero-cta-strip__link:hover { color: var(--sg-sea-2); }

.block-intro { z-index: auto; }
.block-intro .text-content .uk-h4 {
  font-family: var(--sg-font-body);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-sea);
}

* + .block-intro.block-flush { margin-top: 0; }
.block-intro.block-flush { margin-bottom: 0; }
.block-intro .sg-intro {
  max-width: var(--sg-wrap);
  margin-inline: auto;
  padding: var(--sg-section) var(--sg-gutter) 0;
}
.block-intro.block-flush .sg-intro { padding-bottom: 0; }
.sg-intro__text {
  max-width: 1040px;
  margin: 0 auto;
  text-align: center;
}
.sg-intro__text > * { margin-inline: auto; }
.sg-intro__text :is(h1, h2) {
  margin: 0 0 22px;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.12;
  overflow-wrap: break-word;
  hyphens: manual;
}
.sg-intro__text :is(h4, .uk-h4) { margin: 0 0 18px; }
.sg-intro__text h1 + h4, .sg-intro__text h2 + h4 { margin-top: 0; }
.sg-intro__text p {
  max-width: 820px;
  color: var(--sg-muted);
  font-size: 18px;
  line-height: 1.75;
}
.sg-intro__text p:has(> .uk-button), .sg-intro__text .block-button { margin-top: 30px; }
.sg-intro__text h4 strong { font-weight: 700; }

.sg-intro__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sg-gap);
  margin: 56px auto 0;
}
.sg-intro__gallery--1 { grid-template-columns: minmax(0, 1fr); max-width: 1040px; }
.sg-intro__photo { min-width: 0; border-radius: var(--sg-radius-tile); overflow: hidden; background: var(--sg-paper); }
.sg-intro__photo img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.sg-intro__gallery--1 .sg-intro__photo img { aspect-ratio: auto; height: auto; }
@media (max-width: 600px) {
  .sg-intro__gallery { gap: 12px; margin-top: 40px; }
  .sg-intro__photo { border-radius: 16px; }
  .sg-intro__photo img { aspect-ratio: 4 / 5; }
}

.sg-intro__aside {
  max-width: 820px;
  margin: 56px auto 0;
}
.sg-intro__aside .text-content > :first-child { margin-top: 0; }
.sg-intro__aside :is(h1, h2) { font-size: clamp(28px, 3vw, 42px); text-align: center; overflow-wrap: break-word; }
.sg-intro__aside h3 { margin-top: 36px; }
.sg-intro__aside h1 + p, .sg-intro__aside h2 + p { text-align: center; color: var(--sg-muted); font-size: 18px; }
.sg-intro__aside hr { margin: 40px 0; }
.sg-intro__aside h4 { margin-top: 36px; }
.sg-intro__wide { margin-top: 56px; border-radius: var(--sg-radius-tile); overflow: hidden; }

.block-intro.intro-style-1 { padding-top: var(--sg-section); }
.block-intro.intro-style-1 .container-xsmall { max-width: calc(900px + var(--sg-gutter) * 2); }
.block-intro.intro-style-1 .intro-inner,
.block-hero + .block-intro.intro-style-1 .intro-inner {
  top: 0;
  margin-bottom: 0;
  padding: 56px 64px 60px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  box-shadow: none;
}
.block-intro.intro-style-1 .intro-text-top { margin-top: 0; }
.block-intro.intro-style-1 .intro-text-top > :is(h1, h2) {
  margin: 0 0 20px;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.12;
  text-align: center;
}
.block-intro.intro-style-1 .intro-text-top > .uk-h4 { margin: 0 0 16px; }
.block-intro.intro-style-1 .intro-text-top > p:not(.uk-h4) {
  max-width: 720px;
  margin: 0 auto 40px;
  text-align: center;
  color: var(--sg-muted);
  font-size: 18px;
}
@media (max-width: 700px) {
  .block-intro.intro-style-1 .intro-inner,
  .block-hero + .block-intro.intro-style-1 .intro-inner { padding: 36px 22px 40px; border-radius: 18px; }
}

.block-intro.intro-style-3 .intro-aside .uk-button-link {
  padding: 0;
  min-height: 0;
  background: none;
  border: 0;
  color: #fff;
  font-size: 13px;
  letter-spacing: .08em;
}
.block-intro.intro-style-3 .intro-aside .uk-button-link:hover { color: var(--sg-sea-tint); background: none; }
.block-intro.intro-style-3 .intro-aside .icon { color: #fff; }

.block-intro.intro-style-3 { padding-top: var(--sg-section); }
.block-hero + .block-intro.intro-style-3 .intro-wrapper { top: 0; }
.block-intro.intro-style-3 .intro-style-3__row { margin-left: calc(var(--sg-gap) * -1); }
.block-intro.intro-style-3 .intro-style-3__aside,
.block-intro.intro-style-3 .intro-style-3__main { padding-left: var(--sg-gap); min-width: 0; }
@media (max-width: 959px) {
  .block-intro.intro-style-3 .intro-style-3__row > * + * { margin-top: var(--sg-gap); }
}
.block-intro.intro-style-3 .intro-panel,
.block-intro.intro-style-3 .intro-sidebar {
  border-radius: var(--sg-radius-tile);
  border: 1px solid var(--sg-line);
}
.block-intro.intro-style-3 .intro-panel { background: var(--sg-paper); }
.block-intro.intro-style-3 .intro-sidebar { background: var(--sg-sea); border-color: var(--sg-sea); }
.block-intro.intro-style-3 .intro-heading,
.block-intro.intro-style-3 .intro-aside-heading {
  margin: 0 0 8px;
  padding: 36px 36px 0;
  font-family: var(--sg-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .24em;
  color: var(--sg-sea);
}
.block-intro.intro-style-3 .intro-aside-heading { color: #fff; }
.block-intro.intro-style-3 .intro-text,
.block-intro.intro-style-3 .intro-aside { padding: 8px 36px 40px; }
.block-intro.intro-style-3 .intro-aside :is(h2, h3) { color: #fff; overflow-wrap: anywhere; }
.block-intro.intro-style-3 .intro-aside,
.block-intro.intro-style-3 .intro-aside p { color: var(--sg-sea-tint); }
.block-intro.intro-style-3 .intro-aside a:not(.btn):not(.uk-button) { color: #fff; }
.block-intro.intro-style-3 .intro-aside ul li { border-color: rgba(255, 255, 255, .22); }
.block-intro.intro-style-3 .intro-aside .uk-button:not(.uk-button-link):not(.uk-button-text),
.block-intro.intro-style-3 .intro-aside-cta,
.block-intro.intro-style-3 .intro-aside-cta:hover {
  background: #fff;
  border-color: #fff;
  color: var(--sg-ink);
}
.block-intro.intro-style-3 .intro-aside .uk-button:not(.uk-button-link):not(.uk-button-text):hover,
.block-intro.intro-style-3 .intro-aside-cta:hover { background: var(--sg-cream); border-color: var(--sg-cream); }
@media (max-width: 600px) {
  .block-intro.intro-style-3 .intro-heading,
  .block-intro.intro-style-3 .intro-aside-heading { padding: 28px 22px 0; }
  .block-intro.intro-style-3 .intro-text,
  .block-intro.intro-style-3 .intro-aside { padding: 8px 22px 30px; }
}

.nav-arrow,
.slider--3 .uk-slidenav {
  width: 44px;
  height: 44px;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: var(--sg-paper);
  color: var(--sg-ink);
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.nav-arrow:hover,
.slider--3 .uk-slidenav:hover,
.slider--3 .uk-slidenav:active { background: #fff; color: var(--sg-sea); border-color: #CFC3AF; }
.nav-arrow:focus-visible,
.slider--3 .uk-slidenav:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }

.slideshow__dots { margin-left: 0; gap: 0; }
.slideshow__dots > * { padding-left: 0; }
.slideshow__dot {
  position: relative;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
}
.slideshow__dot::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 8px; height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: #CFC3AF;
  transition: background-color .25s ease;
}
.slideshow__dot:hover, .slideshow__dot.is-current { background: transparent; }
.slideshow__dot:hover::before, .slideshow__dot.is-current::before { background: var(--sg-sea); }

.slideshow__stage { border-radius: var(--sg-radius-tile); overflow: hidden; }
.slideshow__link { border-radius: inherit; }
.slideshow-text .text-content h3 { font-family: var(--sg-font-head); }
.slideshow--style-2 .slideshow-text { left: 40px; bottom: 40px; }
.slideshow--style-2 .slideshow-text .text-content {
  color: #fff;
  text-shadow: 0 1px 14px rgba(0, 0, 0, .35);
}
.slideshow--style-2 .slideshow__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(20, 18, 16, .42) 0%, rgba(20, 18, 16, 0) 45%);
}
.slideshow--style-2 .slideshow__slide { position: relative; }
.slideshow--style-2 .slideshow-text { z-index: 3; }
.slideshow-nav-overlay {
  right: 24px;
  bottom: 24px;
  max-width: calc(100% - 48px);
  z-index: 3;
  padding: 8px 10px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
}
.progress-container { background: var(--sg-line); }
.progress-bar { background: var(--sg-sea); }
.slide-counter { color: var(--sg-muted); font-weight: 600; }
@media (max-width: 959px) {
  .slideshow--style-2 .slideshow-text { position: static; max-width: none; padding: 20px 4px 0; }
  .slideshow--style-2 .slideshow-text .text-content { color: var(--sg-ink); text-shadow: none; }
  .slideshow--style-2 .slideshow__slide::after { display: none; }
  .slideshow--style-2 .slideshow__stage { border-radius: 0; overflow: visible; }
  .slideshow--style-2 .slideshow__image { border-radius: var(--sg-radius-tile); }
  .slideshow-nav-overlay { position: static; margin: 16px auto 0; width: auto; max-width: 360px; }
}

.slideshow--small .slideshow__image { max-height: 60vh; object-fit: cover; }
.slideshow-small__caption { margin-top: 22px; text-align: center; }
.slideshow-small__caption h3 { margin-bottom: 6px; }
.slideshow-small__caption p { color: var(--sg-muted); }
.slideshow-small__controls { gap: 12px; margin-top: 18px; }

.slider .slider__image,
.slider--1 .slide-content-wrapper img { border-radius: var(--sg-radius-tile); }
.slider--2 .slide-content-wrapper { border-radius: var(--sg-radius-tile); overflow: hidden; }
.slider--2 .slider__caption :is(h1, h2, h3) { font-family: var(--sg-font-head); }
.slider--2 .slider__caption :is(h2, h3, h4, p),
.slider--2 .slider__caption .text-content { text-shadow: 0 1px 14px rgba(0, 0, 0, .35); }
.slider--2 .slide-content-wrapper.has-content::after {
  background: linear-gradient(10deg, rgba(20, 18, 16, .6) 0%, rgba(20, 18, 16, .2) 45%, rgba(20, 18, 16, 0) 80%);
}
.slider--2 .slider__caption .btn-outline { border-color: #fff; color: #fff; }
.slider--2 .slider__caption .btn-outline:hover { background: #fff; color: var(--sg-ink); }
.slider-background-texture { border-radius: var(--sg-radius-tile); overflow: hidden; }
.slider-background-texture::after {
  background: linear-gradient(80deg, rgba(245, 239, 228, 0) 0%, var(--sg-cream) 54%);
}
.slider-controls { gap: 10px; }
.slider-toggles { gap: 8px; }
.slider--1 .slider-toggle,
.slider--2 .slider-toggle,
.slider-toggle {
  min-height: 40px;
  padding: 8px 18px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  font-family: var(--sg-font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
}
.slider--1 .slider-toggle:hover, .slider--2 .slider-toggle:hover,
.slider--1 .slider-toggle:focus, .slider--2 .slider-toggle:focus { background: #fff; border-color: #CFC3AF; color: var(--sg-sea); }
.slider--1 .slider-toggle.active, .slider--2 .slider-toggle.active {
  background: var(--sg-ink);
  border-color: var(--sg-ink);
  color: #fff;
}
.progress { background: var(--sg-line); border-radius: 2px; }
.progress-fill { background: var(--sg-sea); }

.slider--3 .slide-card { border-radius: var(--sg-radius-tile); overflow: hidden; }
.slider--3 .slide-card-image::after {
  background: linear-gradient(180deg, rgba(20, 18, 16, 0) 45%, rgba(20, 18, 16, .6) 100%);
}
.slider--3 .slide-card-title { font-family: var(--sg-font-head); font-size: 20px; letter-spacing: 0; text-transform: none; }
.slider--3 .slide-card-arrow { opacity: .9; }

.slider--3 .uk-slidenav { opacity: 1; }
.slider--3 .uk-slidenav-previous { transform: translate(0, -50%); }
.slider--3 .uk-slidenav-next     { transform: translate(0, -50%); }
.slider--3 .slider__item { min-width: 0; }

.video-block__frame { border-radius: var(--sg-radius-tile); }
.video-block__toggle {
  top: 20px;
  right: 20px;
  bottom: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: rgba(20, 18, 16, .12);
}
.video-block__toggle .icon { width: 18px; height: 18px; }
.video-block__toggle:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.video-block__intro { text-align: center; max-width: 820px; margin-inline: auto; }

.block-slideshow > .slideshow {
  max-width: var(--sg-wrap);
  margin-inline: auto;
  padding-inline: var(--sg-gutter);
}
.slideshow:not(.slideshow--small) .slideshow__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
}
@media (max-width: 600px) {
  .slideshow:not(.slideshow--small) .slideshow__image { aspect-ratio: 4 / 3; }
}
.slideshow--small .slideshow__stage { border-radius: var(--sg-radius-tile); }
.slideshow--small .slideshow__image { width: 100%; aspect-ratio: 3 / 2; height: auto; }

.slider--1 .slider__stage, .slider--2 .slider__stage,
.slider--1 .slider-controls, .slider--2 .slider-controls,
.slider--1 .progress, .slider--2 .progress {
  max-width: var(--sg-wrap);
  margin-inline: auto;
  padding-inline: var(--sg-gutter);
}
.slider--1 .progress, .slider--2 .progress { max-width: 360px; padding: 0; margin-block: 22px 0; }
.slider-controls { justify-content: center; margin-top: 24px; }
.slider--1 .slider__slide { width: auto; }
.slider--1 .slider__image { aspect-ratio: 3 / 2; object-fit: cover; }
.slider--1 .slider__caption { left: 0; padding-top: 22px; }
@media (min-width: 960px) {
  .slider--1 .slider__slide { width: auto; }
  .slider--1 .slider__caption { left: 0; }
  .slider--1 .slide-content-wrapper.has-content {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 56px;
    align-items: center;
  }
  .slider--1 .slider__caption { padding-top: 0; }
}
.slider--1 .slider__caption h2 { font-size: clamp(28px, 3vw, 42px); overflow-wrap: break-word; }
.slider--1 .slider__caption p { color: var(--sg-muted); }
.slider--2 .slider__image { aspect-ratio: 16 / 9; object-fit: cover; }
@media (max-width: 600px) { .slider--2 .slider__image { aspect-ratio: 4 / 5; } }
.slider--2 .slider__caption { padding: 40px 44px; }
@media (max-width: 600px) { .slider--2 .slider__caption { padding: 24px 22px; } }
.slider--2 .slider__caption h2 { color: #fff; font-size: clamp(26px, 3vw, 40px); overflow-wrap: break-word; }
.slider-intro { max-width: var(--sg-wrap); padding-inline: var(--sg-gutter); }

.slider--3 .slider-fullwidth { padding-left: max(var(--sg-gutter), calc((100vw - var(--sg-wrap)) / 2 + var(--sg-gutter))); }
.slider--3 .slider__track { gap: var(--sg-gap); }
.block-slider .slider-intro { max-width: var(--sg-wrap); margin-inline: auto; padding-inline: var(--sg-gutter); }
.slider--3 .slide-card-image { aspect-ratio: 4 / 3; }
.slider--3 .slide-card-picture { height: 100%; object-fit: cover; }
@media (max-width: 959px) { .slider--3 .slide-card-image { aspect-ratio: 3 / 4; } }

.block-intro.intro-style-3 .intro-aside span.icon:empty,
.block-intro.intro-style-3 .intro-aside span.icon[class*="icon-"]:not(:has(svg)) { display: none; }

.cards-row {
  display: grid;
  grid-template-columns: repeat(var(--cards-cols, 2), minmax(0, 1fr));
  gap: var(--sg-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.cards-row--1 { --cards-cols: 1; }
.cards-row--2 { --cards-cols: 2; }
.cards-row--3 { --cards-cols: 3; }
.cards-row--4 { --cards-cols: 4; }
@media (max-width: 1100px) { .cards-row--4 { --cards-cols: 3; } }
@media (max-width: 900px)  { .cards-row--3, .cards-row--4 { --cards-cols: 2; } }
@media (max-width: 600px)  { .cards-row { --cards-cols: 1; } }

.cards-row > *,
.cards-row > * {
  width: auto;
  min-width: 0;
  padding: 0;
  display: flex;
}
.cards-row > [hidden] { display: none; }

.cards-row--1 { max-width: 760px; margin-inline: auto; }

.cards-header { margin-bottom: 40px; }
.cards-header h2 { font-size: clamp(28px, 3vw, 42px); overflow-wrap: anywhere; }
.cards-header p { color: var(--sg-muted); }

.block-cards > .cards-ground[style*="255, 255, 255, 1"],
.block-cards_filtered > .cards-ground[style*="255, 255, 255, 1"] { background-color: var(--sg-paper) !important; }

.block-cards .card,
.block-cards_filtered .card,
.block-cards_grid_element .card {
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  box-shadow: none;
  overflow: hidden;
  color: var(--sg-ink);
  min-width: 0;
}

.card__media { background: var(--sg-line); }
.card__image { transition: transform .6s ease; }
.card:hover .card__image { transform: scale(1.02); }
@media (prefers-reduced-motion: reduce) {
  .card__image, .card:hover .card__image { transition: none; transform: none; }
}

.block-cards .card__body,
.block-cards_filtered .card__body,
.block-cards_background .card__body {
  padding: 26px 28px 30px;
  justify-content: flex-start;
  gap: 0;
}
@media (max-width: 600px) {
  .block-cards .card__body,
  .block-cards_filtered .card__body { padding: 22px 22px 26px; }
}

.card-main-text { display: flex; flex-direction: column; flex: 1; }
.card-main-text > * { margin-top: 0; margin-bottom: 10px; }
.card-main-text > :last-child { margin-bottom: 0; }
.card-main-text h2,
.card-main-text h3 {
  font-family: var(--sg-font-head);
  font-weight: 700;
  color: var(--sg-ink);
  line-height: 1.22;
  overflow-wrap: anywhere;
}
.card-main-text h2 { font-size: clamp(24px, 2.1vw, 30px); }
.card-main-text h3 { font-size: 24px; }
.cards-row--3 .card-main-text h2,
.cards-row--4 .card-main-text h2,
.cards-row--3 .card-main-text h3,
.cards-row--4 .card-main-text h3 { font-size: clamp(21px, 1.7vw, 24px); }
.card-main-text h4 { margin-bottom: 8px; }
.card-main-text h4 + h2,
.card-main-text h4 + h3 { margin-top: 0; }
.card-main-text p,
.card-main-text li { color: var(--sg-muted); }
.card-main-text p:has(> .uk-button),
.card-main-text p:has(> .btn) { color: inherit; }
.card-main-text ul { padding-left: 0; }

.block .card-main-text ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) li {
  padding: 9px 0 9px 24px;
  font-size: 16px;
  line-height: 1.5;
}

.block .card-main-text ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) > li::before {
  top: calc(9px + .75em - 3px);
}
.block .card-main-text ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) > li[style*="center"] { padding-left: 0; }

.block .card-main-text ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) > li:has(> p) {
  padding: 0 0 1em;
  font-size: inherit;
  line-height: inherit;
}
.block .card-main-text ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) > li:has(> p)::before { display: none; }
.card-main-text table { width: 100%; border-collapse: collapse; font-size: 15px; }
.card-main-text td, .card-main-text th { border-bottom: 1px solid var(--sg-line); padding: 8px 6px; }

.card-main-text span[style*="font-family"] { font-family: inherit !important; font-size: inherit !important; }

.card-main-text [style*="justify"] { text-align: left !important; }
.card-main-text span[style*="color"],
.card-main-text p[style*="color"],
.card-main-text span[style*="font-size"],
.card-main-text span[style*="line-height"],
.card-main-text span[style*="background"] {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  background: none !important;
}

.card-main-text > p:last-child:has(> .uk-button, > .btn) {
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.card-main-text > p:last-child:has(> .uk-button)[style*="center"] { justify-content: center; }
.block .card .uk-button.uk-button-secondary:not(.uk-button-link) {
  background: transparent;
  border-color: var(--sg-ink);
  color: var(--sg-ink);
}
.block .card .uk-button.uk-button-secondary:not(.uk-button-link):hover { background: var(--sg-ink); border-color: var(--sg-ink); color: #fff; }

.block-cards .card .text-content hr {
  width: 64px;
  border-top: 1px solid var(--sg-line);
  margin: 6px auto 16px;
}

.card-main-text .uk-h1 { color: var(--sg-sea); margin-bottom: 4px; }

.card__link { margin-top: auto; padding-top: 16px; }
.card__link .btn { margin-top: 0; }

.card__arrow {
  width: 44px;
  height: 44px;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: rgba(251, 248, 242, .92);
  color: var(--sg-ink);
  box-shadow: 0 4px 14px rgba(43, 40, 36, .14);
}
.card__arrow:hover { background: var(--sg-paper); color: var(--sg-sea); }
.card__arrow--prev { left: 12px; }
.card__arrow--next { right: 12px; }
.card__arrow .icon { width: 18px; height: 18px; }
.card__arrow:focus-visible {
  outline: 2px solid var(--sg-paper);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--sg-sea);
}

.card-tags {
  justify-content: flex-start;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  color: var(--sg-sea);
}
.card-tags .icon { display: none; }
.card-tags li:not(:last-child)::after { content: "\00a0\00b7\00a0"; }
.card-tags + .card-main-text { margin-top: 0; }

.cards-slider__track,
.cards-slider__track { margin-left: calc(var(--sg-gap) * -1); }
.cards-slider__item { padding-left: var(--sg-gap); padding-block: 2px; }
@media (max-width: 959px) {
  .cards-slider__track { margin-left: -14px; }
  .cards-slider__item { padding-left: 14px; }
}
.cards-slider__track:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 2px; border-radius: var(--sg-radius-tile); }

.cards-content--slider.container-xlarge { max-width: var(--container-max); }
.cards-content--slider .card__body { justify-content: center; padding: 34px 30px 36px; }
.cards-content--slider .card-main-text p:not(.uk-h1) { font-size: 16px; line-height: 1.7; }

.cards-slider__arrow {
  width: 46px;
  height: 46px;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: var(--sg-paper);
  color: var(--sg-ink);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.cards-slider__arrow:hover { background: var(--sg-ink); border-color: var(--sg-ink); color: #fff; }
.cards-slider__arrow .icon { width: 18px; height: 18px; }
.cards-slider__arrow:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }
.cards-slider__arrow--prev { right: calc(100% + 14px); }
.cards-slider__arrow--next { left: calc(100% + 14px); }

@media (max-width: 1360px) {
  .cards-slider__arrow--prev { right: auto; left: -8px; }
  .cards-slider__arrow--next { left: auto; right: -8px; }
  .cards-slider__arrow { box-shadow: 0 6px 18px rgba(43, 40, 36, .16); }
}

.cards-slider__dots { gap: 2px; margin: 18px 0 0; }
.cards-slider__dot {
  position: relative;
  width: 44px;
  height: 44px;
  border: 0;
  background: none;
}
.cards-slider__dot::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 8px; height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 999px;
  background: #CFC3AF;
  transition: width .25s ease, margin .25s ease, background-color .25s ease;
}
.cards-slider__dot:hover,
.cards-slider__dot.is-current { background: none; }
.cards-slider__dot:hover::before { background: var(--sg-muted); }
.cards-slider__dot.is-current::before { width: 22px; margin-left: -11px; background: var(--sg-ink); }
.cards-slider__dot:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: -6px; border-radius: 999px; }

.cards-filter__bar { margin: 0 0 36px; }
.cards-filter__bar .cards-filter__pills,
.cards-filter__pills {
  margin: 0;
  gap: 10px;
}
.cards-filter__pills > * { padding-left: 0; }
.cards-filter__label {
  margin-right: 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-muted);
}
.cards-filter__pill {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.2;
  color: var(--sg-ink);
}
.cards-filter__pill .label-text {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
}
.cards-filter__pill:hover .label-text { background: var(--sg-paper); border-color: var(--sg-ink); }
.cards-filter__input:checked + .label-text {
  background: var(--sg-ink);
  border-color: var(--sg-ink);
  color: #fff;
}
.cards-filter__input:focus-visible + .label-text { outline: 2px solid var(--sg-sea); outline-offset: 3px; }
.cards-filter__count {
  margin-top: 16px;
  font-size: 14px;
  color: var(--sg-muted);
}
.cards-filter__empty { color: var(--sg-muted); }

@media (min-width: 960px) {
  .block-cards_background { margin-top: 0 !important; }
}
.block-cards_background > .cards-background-texture,
.block-cards_background > .cards-ground { display: none; }
.cards-bg-slider { margin-top: 0; transform: none; }
.block-cards_background .card {
  position: relative;
  min-height: 440px;
  justify-content: flex-end;
  border: 0;
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
  background: var(--sg-sea);
  box-shadow: none;
  color: #fff;
}
.block-cards_background .card__media { position: absolute; inset: 0; aspect-ratio: auto; }
.block-cards_background .card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 24, 26, 0) 30%, rgba(20, 24, 26, .78) 100%);
}
.block-cards_background .card__body { position: relative; flex: none; }
.block-cards_background .card-main-text h3,
.block-cards_background .card-main-text h2,
.block-cards_background .card-main-text p,
.block-cards_background .card-main-text li,
.block-cards_background .card-main-text a { color: #fff; }
.block-cards_background .card__link .btn {
  background: #fff;
  border-color: #fff;
  color: var(--sg-ink);
}
.block-cards_background .card__link .btn:hover { background: var(--sg-cream); color: var(--sg-ink); }

.cards-grid .main-image-container { background: var(--sg-line); }
.cards-grid .card-category {
  top: 16px;
  left: 16px;
  padding: 6px 12px;
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}
.cards-grid__body { padding: 24px 28px 28px; }
.cards-grid .title-container h3 { font-size: 22px; overflow-wrap: anywhere; color: var(--sg-ink); }
.cards-grid__chevron { color: var(--sg-sea); }
.cards-grid .text-container p { color: var(--sg-muted); }
.cards-grid__link:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: -4px; border-radius: var(--sg-radius-tile); }

.lightbox__scrim { background: rgba(28, 26, 23, .975); }
.lightbox__dialog { color: var(--sg-cream); }
.lightbox__image { border-radius: var(--sg-radius-tile); max-height: 74vh; }
.lightbox__caption { font-size: 14px; line-height: 1.6; color: #EDE6D9; }
.lightbox__position { color: #C9BFAF; font-size: 12px; letter-spacing: .16em; }
.lightbox__close,
.lightbox__arrow {
  width: 48px;
  height: 48px;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: var(--sg-paper);
  color: var(--sg-ink);
}
.lightbox__close:hover,
.lightbox__arrow:hover { background: var(--sg-ink); border-color: var(--sg-paper); color: #fff; }
.lightbox__close .icon,
.lightbox__arrow .icon { width: 18px; height: 18px; }
.lightbox__close:focus-visible,
.lightbox__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.lightbox__close { top: 18px; right: 18px; }
.lightbox__arrow--prev { left: 18px; }
.lightbox__arrow--next { right: 18px; }
@media (max-width: 639px) {
  .lightbox__arrow { top: auto; bottom: 24px; transform: none; }
  .lightbox__arrow--prev { left: calc(50% - 58px); }
  .lightbox__arrow--next { right: calc(50% - 58px); }
  .lightbox__dialog { padding-bottom: 96px; }
}

.card-main-text span.icon[class*="icon-"] { display: none; }
.card-main-text > :is(p, h2, h3):is(.uk-h1, .uk-h2):has(> span.icon:only-child) { margin: 0; line-height: 0; }

.block-panel[style] { background-color: transparent !important; }
.block-panel:not(.has-background)[style] { background-image: none !important; }

.block-panel.block-spaced { padding-top: 96px; padding-bottom: 96px; }
@media (max-width: 959px) {
  .block-panel.block-spaced { padding-top: 72px; padding-bottom: 72px; }

  .block-panel.panel-fullwidth { margin-top: 0; margin-bottom: 0; }
}

.block-panel.block-spaced:has(.panel-tone--paper) + .block-panel.block-spaced:has(.panel-tone--paper) { padding-top: 0; }

.block-panel:has(.panel-tone--sea) {
  background-color: var(--sg-sea) !important;
  color: #fff;
}
.block-panel.has-background:has(.panel-tone--sea) {
  position: relative;
  isolation: isolate;
  background-size: cover;
  background-position: center;
}
.block-panel.has-background:has(.panel-tone--sea)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(30, 78, 92, .9);
  pointer-events: none;
}

.block-panel.has-background:has(.panel-tone--paper) { position: relative; isolation: isolate; background-size: cover; }
.block-panel.has-background:has(.panel-tone--paper)::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: rgba(245, 239, 228, .9); pointer-events: none;
}

.block-panel .panel-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  margin: 0;
  --panel-gutter: 0px;
}
.block-panel .panel-row > * { margin-top: 0; }
.block-panel .panel-gallery,
.block-panel .panel-content { width: auto; min-width: 0; padding-left: 0; }
@media (min-width: 960px) {
  .block-panel .panel-row {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(32px, 4vw, 64px);
    align-items: stretch;
  }
  .block-panel.text-gallery .panel-row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .block-panel.text-gallery .panel-gallery { order: 2; }
  .block-panel.text-gallery .panel-content { order: 1; }
}

.block-panel .panel-gallery--shadow { box-shadow: none; }
.block-panel .panel-pair {
  margin-left: 0;
  gap: var(--sg-gap);
  flex-wrap: nowrap;
}
.block-panel .panel-pair__item,
.block-panel .panel-pair__item--1,
.block-panel .panel-pair__item--2 {
  padding-left: 0;
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
  flex: 1 1 0;
  min-width: 0;
  width: auto;
}
@media (min-width: 960px) {
  .block-panel .panel-pair__item--1 { flex: 2 1 0; }
  .block-panel .panel-pair__item--2 { flex: 3 1 0; }
}
@media (max-width: 599px) {
  .block-panel .panel-pair { gap: 12px; }
  .block-panel .panel-pair__item { border-radius: var(--sg-radius-panel); }
}
.block-panel .panel-pair__item img { border-radius: inherit; }

.block-panel .panel-slideshow {
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
  isolation: isolate;
  background: var(--sg-paper);
}
@media (min-width: 960px) {
  .block-panel.panel-fullwidth .panel-slideshow { width: 100%; }
  .block-panel .panel-slideshow:not(.panel-slideshow--auto) { min-height: 420px; }
}

.block-panel .panel-slidenav {
  bottom: 16px;
  gap: 8px;
}
.block-panel.text-gallery .panel-slidenav { right: 16px; }
.block-panel.gallery-text .panel-slidenav { left: 16px; }
.block-panel .panel-slidenav__arrow {
  width: 44px;
  height: 44px;
  border-radius: var(--sg-radius-pill);
  background: rgba(251, 248, 242, .94);
  color: var(--sg-ink);
  box-shadow: 0 6px 16px rgba(43, 40, 36, .16);
}
.block-panel .panel-slidenav__arrow:hover { background: #fff; color: var(--sg-sea); }
.block-panel .panel-slidenav__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 4px var(--sg-sea); }
.block-panel .panel-dots { bottom: 8px; gap: 0; }
.block-panel .panel-dot {
  position: relative;
  width: 32px;
  height: 32px;
  border: 0;
  background: none;
}
.block-panel .panel-dot::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 9px; height: 9px;
  margin: -4.5px 0 0 -4.5px;
  border-radius: 50%;
  border: 1px solid #fff;
  background: rgba(43, 40, 36, .25);
}
.block-panel .panel-dot.is-current { background: none; }
.block-panel .panel-dot.is-current::before { background: #fff; }
.block-panel .panel-dot:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

@media (min-width: 960px) {
  .block-panel.offset-image-top { margin-top: 120px; }
  .block-panel.offset-image-top .panel-slideshow,
  .block-panel.offset-image-top .panel-pair { margin-top: -180px; }
  .block-panel.offset-image-top .panel-content { bottom: 0; }
  .block-panel.offset-image-bottom { margin-bottom: 120px; }
  .block-panel.offset-image-bottom .panel-slideshow,
  .block-panel.offset-image-bottom .panel-pair { margin-bottom: -180px; }
  .block-panel.offset-image-bottom .panel-content { top: 0; }
}

.block-panel .panel-content__inner {
  padding: 0;
  min-width: 0;
}
.block-panel .panel-content__inner h2,
.block-panel .panel-content__inner h3 { overflow-wrap: anywhere; hyphens: auto; }
.block-panel .panel-content__inner h2 { font-size: clamp(28px, 2.6vw, 40px); margin-bottom: 18px; }
.block-panel .panel-content__inner h4,
.block-panel .panel-content__inner .uk-h4 { margin: 0 0 12px; }
.block-panel .panel-content__inner p { margin: 0 0 18px; }
.block-panel .panel-content__inner p:has(> .uk-button:only-child),
.block-panel .panel-content__inner .block-button { margin: 28px 0 0; }
.block-panel .panel-content__inner > :last-child { margin-bottom: 0; }

.panel-tone--paper .panel-content__inner {
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  padding: clamp(28px, 4vw, 56px) clamp(24px, 3.6vw, 52px);
}
.panel-tone--paper .panel-content__inner p:not(:has(> .uk-button, > .btn)) { color: var(--sg-muted); }
.panel-tone--paper .panel-content__inner h2 { color: var(--sg-ink); }

.block-panel.panel-fullwidth .text-content a:not(.btn):not(.uk-button) {
  color: var(--sg-sea);
  font-weight: 600;
}
.block-panel.panel-fullwidth .text-content a:not(.btn):not(.uk-button):hover { color: var(--sg-sea-2); }

.panel-tone--sea .panel-content__inner { padding: 8px 0; }
@media (min-width: 960px) {
  .panel-tone--sea .panel-content__inner { padding: 24px 0; }
}
.panel-tone--sea .panel-content__inner h2,
.panel-tone--sea .panel-content__inner h3,
.panel-tone--sea .panel-content__inner h4,
.panel-tone--sea .panel-content__inner .uk-h4 { color: #fff; }
.panel-tone--sea .panel-content__inner p,
.panel-tone--sea .panel-content__inner li { color: var(--sg-sea-tint); }
.block-panel .panel-tone--sea .text-content a:not(.btn):not(.uk-button) { color: #fff; }
.panel-tone--sea .uk-button:not(.uk-button-link):not(.uk-button-text),
.panel-tone--sea .btn {
  background: #fff;
  border-color: #fff;
  color: var(--sg-sea);
}
.panel-tone--sea .uk-button:not(.uk-button-link):not(.uk-button-text):hover,
.panel-tone--sea .btn:hover {
  background: var(--sg-cream);
  border-color: var(--sg-cream);
  color: var(--sg-sea-2);
}
.panel-tone--sea :focus-visible { outline-color: #fff; }

@media (min-width: 960px) {
  .block-panel.panel-popped.popped-style-1 .panel-content { width: auto; left: auto; right: auto; }
  .block-panel.panel-popped.popped-style-1:not(:last-child) { margin-bottom: 0; }
}

.mosaic .mosaic-images { gap: var(--sg-gap); }
.mosaic--style-2 .mosaic-wrapper-grid,
.mosaic--style-2 .mosaic-right { gap: var(--sg-gap); }
.mosaic .mosaic-item,
.mosaic--style-1 .mosaic-item { background: var(--sg-paper); border-radius: var(--sg-radius-tile); overflow: hidden; }
.mosaic .mosaic-item__link,
.mosaic .gallery-item__frame { border-radius: inherit; }
.mosaic .mosaic-last .mosaic-item { height: auto; }
.mosaic--style-2 .mosaic-text h2,
.mosaic-heading h2 { overflow-wrap: anywhere; hyphens: auto; }
.mosaic--style-2 .mosaic-text h2 { font-size: clamp(28px, 2.8vw, 42px); }
.mosaic--style-2 .mosaic-text p:not(:has(> .uk-button, > .btn)),
.mosaic-heading p { color: var(--sg-muted); }
.mosaic-heading { margin-bottom: 36px; }
@media (min-width: 960px) {
  .mosaic--style-2 .mosaic-text { padding: 40px clamp(24px, 4vw, 64px) 8px; }
}
@media (max-width: 959px) {
  .mosaic--style-2 .mosaic-wrapper-grid { row-gap: 32px; }
  .mosaic .mosaic-images { gap: 12px; }
  .mosaic .mosaic-item,
  .mosaic--style-1 .mosaic-item { border-radius: var(--sg-radius-panel); }
}

.gallery-item__frame {
  border-radius: var(--sg-radius-tile);
  background-color: var(--sg-paper);
  isolation: isolate;
}
.gallery-item__image { border-radius: inherit; }
.gallery--zoom .gallery-item__image { transition: transform .6s ease; }
.gallery--zoom .gallery-item:hover .gallery-item__image,
.gallery--zoom .gallery-item:focus-visible .gallery-item__image { transform: scale(1.02); }
@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:focus-visible .gallery-item__frame::after {
  border: 3px solid var(--sg-sea);
  border-radius: inherit;
  box-shadow: inset 0 0 0 2px #fff;
  z-index: 1;
}

.gallery-grid,
.gallery-plain {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
}
.gallery-grid > li,
.gallery-plain > li { width: auto; min-width: 0; padding-left: 0; }
.gallery-grid > li[hidden] { display: none; }
.gallery-grid .gallery-item__frame,
.gallery-plain .gallery-item__frame { aspect-ratio: 1 / 1; border-radius: var(--sg-radius-panel); }
@media (min-width: 640px) {
  .gallery-grid, .gallery-plain { gap: var(--sg-gap); }
  .gallery-grid .gallery-item__frame,
  .gallery-plain .gallery-item__frame { border-radius: var(--sg-radius-tile); }
  .gallery-grid--3, .gallery-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .gallery-grid--4, .gallery-plain--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gallery-plain--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  .gallery-grid, .gallery-plain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.gallery-plain > li:only-child { grid-column: 1 / -1; }

.gallery-filter .cards-filter__form { margin-bottom: 32px; }
.gallery-filter .cards-filter__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gallery-filter .cards-filter__pills > * { padding-left: 0; }
.gallery-filter .cards-filter__pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.gallery-filter .cards-filter__pill .label-text {
  font-family: var(--sg-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: inherit;
  padding: 0;
  border: 0;
  background: none;
}
.gallery-filter .cards-filter__pill .label-text::before,
.gallery-filter .cards-filter__pill .label-text::after { display: none; }
.gallery-filter .cards-filter__pill:hover { border-color: var(--sg-sea); color: var(--sg-sea); }
.gallery-filter .cards-filter__pill:has(.cards-filter__input:checked) {
  background: var(--sg-sea);
  border-color: var(--sg-sea);
  color: #fff;
}
.gallery-filter .cards-filter__pill:has(.cards-filter__input:focus-visible) {
  outline: 2px solid var(--sg-sea);
  outline-offset: 3px;
}

.gallery-strip__track {
  gap: var(--sg-gap);
  --strip-per: 1.15;
  padding-bottom: 2px;
}
.gallery-strip__item { width: calc((100% - (var(--strip-per) - 1) * var(--sg-gap)) / var(--strip-per)); }
@media (min-width: 640px) {
  .gallery-strip__track { --strip-per: 2; }
}
@media (min-width: 960px) {
  .gallery-strip__track--2 { --strip-per: 2; }
  .gallery-strip__track--3 { --strip-per: 3; }
  .gallery-strip__track--4 { --strip-per: 4; }
  .gallery-strip__track > .gallery-strip__item,
  .gallery-strip__track--2 > .gallery-strip__item,
  .gallery-strip__track--3 > .gallery-strip__item,
  .gallery-strip__track--4 > .gallery-strip__item {
    width: calc((100% - (var(--strip-per) - 1) * var(--sg-gap)) / var(--strip-per));
  }
}
@media (max-width: 599px) {
  .gallery-strip__track { gap: 12px; }
  .gallery-strip__item { width: calc((100% - 12px * .15) / 1.15); }
  .gallery-strip .gallery-item__frame { border-radius: var(--sg-radius-panel); }
}
.gallery-strip__track:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 4px; border-radius: var(--sg-radius-tile); }
.gallery-strip__arrow {
  width: 44px;
  height: 44px;
  border-radius: var(--sg-radius-pill);
  background: rgba(251, 248, 242, .94);
  color: var(--sg-ink);
  box-shadow: 0 6px 16px rgba(43, 40, 36, .16);
  transition: background-color .2s ease, color .2s ease;
}
.gallery-strip__arrow:hover { background: #fff; color: var(--sg-sea); }
.gallery-strip__arrow--prev { left: 14px; }
.gallery-strip__arrow--next { right: 14px; }
.gallery-strip__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 4px var(--sg-sea); }

.gallery-preview__frame { border-radius: var(--sg-radius-tile); }
.gallery-preview__pad h2 { overflow-wrap: anywhere; hyphens: auto; }
.gallery-preview__pad p { color: var(--sg-muted); }
.thumb { border-radius: var(--sg-radius-tile); }
.thumb:nth-child(2) .gallery-preview__frame { box-shadow: 0 0 0 8px var(--sg-cream); }
.circle svg circle { stroke: var(--sg-sea); stroke-width: 2px; opacity: .45; }
@media (max-width: 959px) {
  .gallery-preview__frame { border-radius: var(--sg-radius-panel); }
  .thumb:nth-child(2) .gallery-preview__frame { box-shadow: 0 0 0 6px var(--sg-cream); }
}

.logos__intro { margin-bottom: 28px; text-align: center; }
.logos__intro p { color: var(--sg-muted); }
.logos__carousel {
  gap: 12px;
  padding: 24px 20px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  min-width: 0;
}
.logos__track { min-width: 0; flex: 1 1 auto; gap: 8px; }
.logos__track:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 4px; border-radius: var(--sg-radius-field); }
.logos__image { opacity: .72; filter: grayscale(1); transition: opacity .3s ease, filter .3s ease; }
.logos__item:hover .logos__image { opacity: 1; filter: none; }
.logos .nav-arrow {
  width: 44px;
  height: 44px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-cream);
  color: var(--sg-ink);
}
.logos .nav-arrow:hover { color: var(--sg-sea); border-color: var(--sg-sea); }
.logos .nav-arrow:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .logos__track { scroll-behavior: auto; }
  .logos__image { transition: none; }
}

@media (min-width: 960px) {
  .mosaic--style-1 .mosaic-images:has(> :nth-child(4):last-child) > :nth-child(1) { grid-column: 1 / 8;  grid-row: 1 / 5; }
  .mosaic--style-1 .mosaic-images:has(> :nth-child(4):last-child) > :nth-child(2) { grid-column: 8 / 14; grid-row: 1 / 5; }
  .mosaic--style-1 .mosaic-images:has(> :nth-child(4):last-child) > :nth-child(3) { grid-column: 1 / 6;  grid-row: 5 / 10; }
  .mosaic--style-1 .mosaic-images:has(> :nth-child(4):last-child) > :nth-child(4) { grid-column: 6 / 14; grid-row: 5 / 10; }
}

.block-gallery_grid .container-full > .gallery-strip {
  max-width: var(--container-max);
  margin-inline: auto;
}

@media (min-width: 600px) and (max-width: 959px) {
  .block-panel .panel-pair { align-items: stretch; }
  .block-panel .panel-pair__item--1 img,
  .block-panel .panel-pair__item--2 img { aspect-ratio: 4 / 5; height: 100%; object-fit: cover; }
}

.text-content { overflow-wrap: break-word; }
.text-content :is(h1, h2, h3) { margin: 0 0 18px; overflow-wrap: break-word; }
.text-content :is(p, ul, ol, table, blockquote, figure, pre) + :is(h2, h3) { margin-top: 1.6em; }
.text-content h4, .text-content .uk-h4 { margin: 0 0 14px; }
.text-content h4:empty { display: none; }
.text-content p { margin: 0 0 1.1em; }

.text-content .uk-h4 {
  font-family: var(--sg-font-body);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-sea);
}
.on-dark .text-content .uk-h4, .sg-on-sea .text-content .uk-h4 { color: #fff; }

.text-content a:not(.uk-button):not(.btn):not(.sg-btn):not(.sg-link) {
  color: var(--sg-sea);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.text-content a:not(.uk-button):not(.btn):not(.sg-btn):not(.sg-link):hover { color: var(--sg-sea-2); }
.text-content .uk-button, .text-content .btn { margin-top: 6px; }

.text-content ul:not(.horizontal-list):not(.horizontal-list-centered) {
  list-style: none;
  padding: 0;
  margin: 0 0 1.2em;
}
.text-content ul:not(.horizontal-list):not(.horizontal-list-centered):not(.bullet-list) li,
.text-content ul:not(.horizontal-list):not(.horizontal-list-centered) li,
.text-content ul.bullet-list li,
.text-content ul.bullet-list li.has-icon {
  position: relative;
  display: block;
  margin: 0;
  padding: 5px 0 5px 24px;
  border: 0 !important;
  line-height: 1.6;
}
.text-content ul:not(.horizontal-list):not(.horizontal-list-centered) > li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: calc(5px + .8em - 3px);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sg-sea);
}
.text-content ul:not(.horizontal-list):not(.horizontal-list-centered) > li[style*="center"] { padding-left: 0; }
.text-content ul:not(.horizontal-list):not(.horizontal-list-centered) > li[style*="center"]::before {
  position: static;
  display: inline-block;
  vertical-align: middle;
  margin: -2px 12px 0 0;
}
.text-content ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.text-content ol > li { padding: 4px 0 4px 6px; }
.text-content ol > li::marker { color: var(--sg-sea); font-weight: 700; }
.text-content li > :last-child { margin-bottom: 0; }
.text-content li ul, .text-content li ol { margin: 6px 0 0; }

.text-content ul li span.icon,
.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: static;
  display: inline;
  margin: 0;
  font-size: inherit;
  color: inherit;
}

.text-content table {
  width: 100%;
  margin: 1.4em 0;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  font-size: 15px;
  line-height: 1.55;
}
.text-content table tbody tr,
.text-content table tbody tr:nth-of-type(odd),
.text-content table tbody tr:nth-of-type(even):last-child { background: none; border: 0; }
.text-content table :is(th, td) {
  padding: 14px 18px;
  text-align: left;
  vertical-align: top;
  border: 0;
  border-top: 1px solid var(--sg-line);
}
.text-content table tr:first-child > :is(th, td) { border-top: 0; }
.text-content table th, .text-content table thead td {
  font-family: var(--sg-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sg-sea);
  vertical-align: bottom;
}

.text-content table thead tr:not(:has(> :is(th, td):not(:empty))) { display: none; }
.text-content table thead:has(> tr > :is(th, td):not(:empty)) + tbody tr:first-child > :is(th, td) { border-top: 1px solid var(--sg-line); }
@media (max-width: 760px) {
  .text-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .text-content table :is(th, td) { min-width: 9em; }
}

.text-content blockquote {
  margin: 1.6em 0;
  padding: 4px 0 4px 26px;
  border-left: 2px solid var(--sg-sea);
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: clamp(18px, 1.4vw, 20px);
  line-height: 1.55;
  color: var(--sg-ink);
}
.text-content blockquote p { margin: 0 0 .6em; }
.text-content blockquote :last-child { margin-bottom: 0; }

.text-content hr { margin: 2.2em 0; border: 0; border-top: 1px solid var(--sg-line); }

.text-content img { max-width: 100%; height: auto; border-radius: var(--sg-radius-tile); }
.text-content figure { margin: 1.6em 0; }
.text-content figcaption { margin-top: 10px; font-size: 14px; color: var(--sg-muted); }
.text-content pre { white-space: pre-wrap; font-family: inherit; }
.text-content > :last-child { margin-bottom: 0; }

.block-content_basic_element .content-basic__row--single {
  display: block;
  margin: 0;
}
.block-content_basic_element .content-basic__row--single > .content-basic__col {
  display: block;
  width: auto;
  padding: 0;
}
.block-content_basic_element .content-basic__row--single .text-content {
  width: auto;
  max-width: 72ch;
  margin-inline: auto;
  padding: 20px 0;
}
.block-content_basic_element .container-full .content-basic__row--single .text-content,
.block-content_basic_element .container-large .content-basic__row--single .text-content { max-width: 80ch; }

.block-content_basic_element .content-basic__row--multiple {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sg-gap);
  max-width: 1000px;
  margin: 0 auto;
}
.block-content_basic_element .content-basic__row--multiple > .content-basic__col {
  display: flex;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.block-content_basic_element .content-basic__row--multiple > .content-basic__col::before { content: none !important; display: none !important; }
.block-content_basic_element .content-basic__row--multiple .text-content {
  width: 100%;
  margin: 0;
  padding: 36px 40px 38px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
}
.block-content_basic_element .content-basic__row--multiple .text-content :is(h2, h3) { font-size: clamp(22px, 2vw, 26px); }
.block-content_basic_element .content-basic__row--multiple .text-content ul:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .block-content_basic_element .content-basic__row--multiple { grid-template-columns: minmax(0, 1fr); }
  .block-content_basic_element .content-basic__row--multiple .text-content { padding: 28px 24px 30px; }
}

.block-accordion .accordion__head { margin-bottom: 36px; }
.block-accordion .accordion__panel {
  padding: 6px 34px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
}
.block-accordion .accordion__list > li,
.block-accordion .accordion__list > :nth-child(n + 2) { margin: 0; padding: 0; }
.block-accordion .accordion__list > :nth-child(n + 2) { border-top: 1px solid var(--sg-line); }

.block-accordion .accordion__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  min-height: 44px;
  padding: 22px 0;
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: clamp(17px, 1.5vw, 19px);
  line-height: 1.4;
  color: var(--sg-ink);
  text-align: left;
  overflow: visible;
}
.block-accordion .accordion__title::before { content: none; display: none; }
.block-accordion .accordion__title:hover { color: var(--sg-sea); }
.block-accordion .accordion__title:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 4px; border-radius: 6px; }
.block-accordion .accordion__q { min-width: 0; overflow-wrap: anywhere; }

.block-accordion .accordion__icon {
  position: relative;
  flex: none;
  width: 32px;
  height: 32px;
  border: 1px solid var(--sg-sea);
  border-radius: 50%;
  transition: background-color .3s ease;
}
.block-accordion .accordion__icon::before,
.block-accordion .accordion__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 1.5px;
  margin: -.75px 0 0 -6px;
  background: var(--sg-sea);
  border-radius: 1px;
  transition: transform .3s ease, background-color .3s ease;
}
.block-accordion .accordion__icon::after { transform: rotate(90deg); }
.block-accordion .accordion__title[aria-expanded="true"] .accordion__icon { background: var(--sg-sea); }
.block-accordion .accordion__title[aria-expanded="true"] .accordion__icon::before,
.block-accordion .accordion__title[aria-expanded="true"] .accordion__icon::after { background: #fff; }
.block-accordion .accordion__title[aria-expanded="true"] .accordion__icon::after { transform: rotate(0deg); }

.block-accordion .accordion__content { display: grid; margin: 0; }
.block-accordion .accordion__answer {
  min-height: 0;
  padding: 0 52px 24px 0;
  color: var(--sg-ink);
}

.js .block-accordion .accordion__answer { padding-bottom: 0; transition: padding-bottom .35s ease; }
.js .block-accordion .accordion__content.is-open .accordion__answer { padding-bottom: 24px; }
.js .block-accordion .accordion__content {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows .35s ease, visibility 0s linear .35s;
}
.js .block-accordion .accordion__content.is-open {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows .35s ease, visibility 0s linear 0s;
}
.js .block-accordion .accordion__answer { overflow: hidden; }
@media (max-width: 600px) {
  .block-accordion .accordion__panel { padding: 2px 20px; }
  .block-accordion .accordion__title { padding: 18px 0; }
  .block-accordion .accordion__answer { padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .js .block-accordion .accordion__content,
  .js .block-accordion .accordion__content.is-open,
  .block-accordion .accordion__icon,
  .block-accordion .accordion__icon::before,
  .block-accordion .accordion__icon::after { transition: none; }
}

.block-tabs_element .tabs-container { background: none; padding-top: 0; }
.block-tabs_element .tabs__mobile { display: none; }

.block-tabs_element .tabs__nav,
.featured-tabs__nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 40px;
  padding: 5px;
  list-style: none;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.block-tabs_element .tabs__nav::-webkit-scrollbar,
.featured-tabs__nav::-webkit-scrollbar { display: none; }
.block-tabs_element .tabs__nav::before,
.featured-tabs__nav::before { content: none; display: none; }
.block-tabs_element .tabs__nav-item,
.featured-tabs__nav-item { flex: none; padding: 0; scroll-snap-align: center; }

.block-tabs_element .tabs__tab,
.featured-tabs .hook-tab-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: var(--sg-radius-pill);
  background: transparent;
  color: var(--sg-ink);
  font-family: var(--sg-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
}
.featured-tabs .hook-tab-item::before { content: none; display: none; }
.block-tabs_element .tabs__tab:hover,
.featured-tabs .hook-tab-item:hover { color: var(--sg-sea); background: var(--sg-cream); text-decoration: none; }
.block-tabs_element .tabs__nav-item.is-active > .tabs__tab,
.featured-tabs .hook-tab-item.hook-tab-item-active {
  background: var(--sg-ink);
  color: #fff;
}
.block-tabs_element .tabs__tab:focus-visible,
.featured-tabs .hook-tab-item:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: -2px; }
@media (max-width: 960px) {
  .block-tabs_element .tabs__nav { display: flex; }
}
@media (max-width: 600px) {
  .block-tabs_element .tabs__nav, .featured-tabs__nav { margin-bottom: 28px; }
  .block-tabs_element .tabs__tab, .featured-tabs .hook-tab-item { padding: 0 16px; font-size: 12px; }
}

.block-tabs_element .tabs__panel:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 6px; border-radius: var(--sg-radius-tile); }
.block-tabs_element .tabs__media > a { display: block; border-radius: var(--sg-radius-tile); overflow: hidden; }
.block-tabs_element .tabs__image { border-radius: var(--sg-radius-tile); transition: transform .6s ease; }
.block-tabs_element .tabs__media > a:hover .tabs__image { transform: scale(1.02); }
.block-tabs_element .tabs__text {
  max-width: 72ch;
  margin-inline: auto;
  padding: 48px 0 0;
}
.block-tabs_element .tabs__panel > .tabs__body:first-child .tabs__text { padding-top: 8px; }
@media (max-width: 600px) {
  .block-tabs_element .tabs__text { padding-top: 32px; }
}

.featured-tabs--text-gallery, .featured-tabs--gallery-text { background: none; }
.block-featured_tabs > .container { padding-inline: var(--sg-gutter); }
.featured-tabs { max-width: var(--sg-wrap); margin-inline: auto; padding-inline: var(--sg-gutter); }
.featured-tabs__head { max-width: 72ch; margin: 0 auto 32px; text-align: center; }
.featured-tabs__panel { gap: var(--sg-gap); }
.featured-tabs__text {
  display: flex;
  align-items: center;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
}
.featured-tabs__text .text-content { padding: 48px 52px; }
@media (max-width: 959px) {
  .featured-tabs__text .text-content { padding: 30px 26px; }
  .featured-tabs__panel { display: grid; }
}
.featured-tabs__media { border-radius: var(--sg-radius-tile); overflow: hidden; min-height: 320px; }
.featured-tabs__stage::after { content: none; }
.featured-tabs__dots { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.featured-tabs__dot {
  width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer;
  display: grid; place-items: center;
}
.featured-tabs__dot::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15);
}
.featured-tabs__dot.is-current::before { background: #fff; width: 10px; height: 10px; }

.block-services_icons .services-icons__header { margin-bottom: 36px; }
.block-services_icons .services-icons__header-inner { max-width: 72ch; width: auto; text-align: center; }

.block-services_icons .services-icons-grid {
  display: grid;
  gap: 16px;
  font-size: 16px;
  line-height: 1.55;
  grid-template-columns: repeat(var(--si-cols, 3), minmax(0, 1fr));
}
.block-services_icons .services-icons-grid-1-3 { --si-cols: 3; }
.block-services_icons .services-icons-grid-1-4 { --si-cols: 4; }
.block-services_icons .services-icons-grid-1-5 { --si-cols: 5; }
@media (max-width: 1100px) { .block-services_icons .services-icons-grid-1-5 { --si-cols: 3; } }
@media (max-width: 900px)  { .block-services_icons .services-icons-grid { --si-cols: 2; } }
@media (max-width: 520px)  { .block-services_icons .services-icons-grid { --si-cols: 1; } }

.block-services_icons .services-icons-grid > .services-icons-grid__cell {
  flex: none;
  min-width: 0;
  padding: 26px 24px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  align-items: center;
}
.block-services_icons .services-icons-grid__cell::before,
.block-services_icons .services-icons-grid__cell::after { content: none !important; display: none !important; }
.block-services_icons .service-icon-wrapper { gap: 12px; width: 100%; }
.block-services_icons .service-icon { padding: 0; color: var(--sg-sea); }
.block-services_icons .service-icon__image { width: 56px; height: auto; max-width: 100%; }
.block-services_icons .service-icon__text { color: var(--sg-ink); overflow-wrap: anywhere; }
.block-services_icons .service-icon__text :is(h2, h3) { font-size: 19px; margin-bottom: 6px; }
.block-services_icons .service-icon__text p { margin: 0; }

.text-content table[data-sg-scroll]:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }

.block-services_icons .services-icons-grid > .services-icons-grid__cell:not(:has(.service-icon__text)) {
  grid-column: 1 / -1;
  justify-self: center;
  padding: 12px 0 0;
  background: none;
  border: 0;
}
.block-services_icons .services-icons-grid__cell:not(:has(.service-icon__text)) .service-icon__image { width: 132px; }

.text-content p:has(> .uk-button + .uk-button),
.text-content p:has(> .btn + .btn):not(.embed-gate__actions) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.text-content p:has(> .uk-button + .uk-button) > .uk-button { margin: 0; }
.text-content p[style*="center"]:has(> .uk-button + .uk-button),
.uk-text-center .text-content p:has(> .uk-button + .uk-button),
.text-content.uk-text-center p:has(> .uk-button + .uk-button) { justify-content: center; }

main > h1 + .block-content_basic_element:last-child .content-basic__row--single .text-content {
  max-width: 800px;
  padding: clamp(36px, 6vw, 64px) clamp(22px, 6vw, 64px);
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
}
main > h1 + .block-content_basic_element:last-child .text-content > h2 {
  margin: 1.6em 0 .2em;
  font-size: clamp(26px, 3vw, 34px);
  overflow-wrap: anywhere;
}
main > h1 + .block-content_basic_element:last-child .text-content > h2:first-child { margin-top: 0; }
main > h1 + .block-content_basic_element:last-child .text-content > hr { margin: 2em 0 1em; }
main > h1 + .block-content_basic_element:last-child .text-content > hr + h2 { margin-top: 0; }

main > h1 + .block-content_basic_element:last-child .text-content > p:has(> strong:first-child) {
  margin: 0;
  padding: 22px 0;
  border-top: 1px solid var(--sg-line);
  color: var(--sg-muted);
}
main > h1 + .block-content_basic_element:last-child .text-content > :is(h2, hr) + p:has(> strong:first-child),
main > h1 + .block-content_basic_element:last-child .text-content > p:has(> strong:first-child):first-child { border-top: 0; padding-top: 0; }
main > h1 + .block-content_basic_element:last-child .text-content > p:has(> strong:first-child) > strong:last-of-type::after {
  content: "\A";
  white-space: pre;
}
main > h1 + .block-content_basic_element:last-child .text-content > p:has(> strong:first-child) > strong {
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: clamp(19px, 1.7vw, 21px);
  line-height: 1.35;
  color: var(--sg-ink);
}

main > h1 + .block-content_basic_element:last-child .text-content > p:first-child:not(:has(*)) {
  margin-bottom: 22px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  color: var(--sg-sea);
}

main > h1 + .block-content_basic_element:last-child .text-content > p:has(> b:only-child) {
  margin: 1.6em 0 .4em;
  font-family: var(--sg-font-head);
  font-size: clamp(20px, 2vw, 24px);
  color: var(--sg-ink);
}
main > h1 + .block-content_basic_element:last-child .text-content > p:has(> b:only-child) > b { font-weight: 700; }
main > h1 + .block-content_basic_element:last-child .text-content > p:has(> b:only-child) ~ p:not(:last-child):not(:has(b, strong)) {
  position: relative;
  margin: 0;
  padding: 10px 0 10px 24px;
  border-top: 1px solid var(--sg-line);
}
main > h1 + .block-content_basic_element:last-child .text-content > p:has(> b:only-child) ~ p:not(:last-child):not(:has(b, strong))::before {
  content: "";
  position: absolute;
  left: 4px;
  top: calc(10px + .87em - 3px);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sg-sea);
}
main > h1 + .block-content_basic_element:last-child .text-content > p:has(> b:only-child) ~ p:last-child { margin-top: 1.4em; }

.sg-global { position: relative; }

.sg-global--rooms-cta > .block,
.sg-global--wedding-cta > .block {
  padding-block: clamp(36px, 6vw, 72px);
  padding-inline: var(--sg-gutter);
  margin: 0;
}
.sg-global--rooms-cta .content-basic,
.sg-global--wedding-cta .content-basic {
  max-width: 980px;
  margin-inline: auto;
  padding: clamp(36px, 5vw, 64px) clamp(24px, 5vw, 72px);
  border-radius: var(--sg-radius-tile);
  border: 1px solid var(--sg-line);
  background: var(--sg-paper);
}
.sg-global--rooms-cta .content-basic h2,
.sg-global--wedding-cta .content-basic h2 {
  font-size: clamp(26px, 3vw, 38px);
  overflow-wrap: anywhere;
  margin-top: 0;
}
.sg-global--rooms-cta .content-basic p,
.sg-global--wedding-cta .content-basic p { color: var(--sg-muted); }
.sg-global--rooms-cta .content-basic p:last-child,
.sg-global--wedding-cta .content-basic p:last-child { margin-bottom: 0; }

.sg-global--wedding-cta .content-basic { background: var(--sg-sea); border-color: var(--sg-sea); }
.sg-global--wedding-cta .content-basic h2 { color: #fff; }
.sg-global--wedding-cta .content-basic p { color: var(--sg-sea-tint); }
.sg-global--wedding-cta .content-basic a:not(.uk-button) { color: #fff; }
.sg-global--wedding-cta .block .uk-button:not(.uk-button-link):not(.uk-button-text) {
  background: #fff; border-color: #fff; color: var(--sg-sea);
}
.sg-global--wedding-cta .block .uk-button:not(.uk-button-link):not(.uk-button-text):hover {
  background: var(--sg-cream); border-color: var(--sg-cream); color: var(--sg-sea-2);
}
.sg-global--wedding-cta :focus-visible { outline-color: #fff; }

main + .sg-global { padding-bottom: 24px; }

.block-navbar_element { padding-block: 22px 6px; }

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

.navbar-element__nav {
  display: block;
  background: transparent;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-padding-inline: var(--sg-gutter);
  padding-block: 4px;
}
.navbar-element__nav::-webkit-scrollbar { display: none; }

.navbar-element__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 8px;
  width: max-content;
  max-width: none;
  margin: 0 auto;
  padding: 0 var(--sg-gutter);
}
.navbar-element__item { flex: none; scroll-snap-align: start; }

.navbar-element__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--sg-line);
  border-right: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  font-family: var(--sg-font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  overflow: visible;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.navbar-element__item:first-child .navbar-element__link { border-left: 1px solid var(--sg-line); }
.navbar-element__link::after { display: none; }
.navbar-element__link:hover { border-color: var(--sg-ink); color: var(--sg-ink); }
.navbar-element__link.is-current,
.navbar-element__link.is-current:hover {
  background: var(--sg-sea);
  border-color: var(--sg-sea);
  color: #fff;
}
.navbar-element__link:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 2px; }

.navbar-element.is-stuck .navbar-element__bar {
  left: 0;
  right: 0;
  padding-block: 8px;
  border-top: 0;
  border-bottom: 1px solid var(--sg-line);
  background: rgba(245, 239, 228, .94);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 18px rgba(43, 40, 36, .06);
}

.navbar-element__fallback { display: none; }

.block-restaurant_menu_element { padding-top: var(--sg-section); }
.restaurant-menu__intro { margin-bottom: 36px; }
.restaurant-menu__intro h2 { overflow-wrap: anywhere; }
.restaurant-menu__intro p:not(.uk-h4) { color: var(--sg-muted); }

.restaurant-menu { width: auto; max-width: 900px; margin-inline: auto; }

.restaurant-menu__mobile { display: none; }
.restaurant-menu__tabs,
.js .restaurant-menu__tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 28px;
  padding: 4px 2px;
  overflow-x: auto;
  scrollbar-width: none;
  list-style: none;
}
.restaurant-menu__tabs::-webkit-scrollbar { display: none; }
.restaurant-menu__tabs::before { display: none; }
@media (max-width: 959px) {

  .restaurant-menu__tabs, .js .restaurant-menu__tabs {
    width: auto;
    margin-inline: calc(var(--container-gutter, 20px) * -1);
    padding-inline: var(--container-gutter, 20px);
  }
}
html:not(.js) .restaurant-menu__tabs { display: none; }

.restaurant-menu__tab-item { flex: none; padding: 0; }
.restaurant-menu__tab {
  min-height: 44px;
  width: auto;
  padding: 0 20px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  font-family: var(--sg-font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.restaurant-menu__tab:hover { color: var(--sg-ink); border-color: var(--sg-ink); }
.restaurant-menu__tab-item.is-active .restaurant-menu__tab {
  background: var(--sg-sea);
  border-color: var(--sg-sea);
  color: #fff;
}
.restaurant-menu__tab:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 2px; }

.menu-container {
  display: grid;
  gap: var(--sg-gap);
  background: none;
  border-radius: 0;
  padding: 0;
}
.menu-section,
.menu-columns-2 .menu-section, .menu-columns-3 .menu-section, .menu-columns-4 .menu-section {
  padding: clamp(28px, 5vw, 52px) clamp(20px, 5vw, 56px);
  margin: 0;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  min-width: 0;
}
.menu-section::before { display: none; }
.menu-section-no-title { background: none; border: 0; padding-block: 8px; }
.menu-section-no-title .menu-section__body p { color: var(--sg-muted); font-size: 14px; border: 0; }

.menu-section__heading { text-align: center; margin-bottom: 18px; }
.menu-section-title,
.menu-style-plain .menu-section-title {
  display: block;
  top: 0;
  margin: 0;
  padding: 0;
  background: none;
  color: var(--sg-ink);
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
}
@media (min-width: 960px) { .menu-section-title { top: 0; } }

.menu-section__body p {
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--sg-line);
  color: var(--sg-ink);
  font-size: 15px;
  line-height: 1.7;
  overflow-wrap: break-word;
}
.menu-section__body p:last-child { border-bottom: 0; padding-bottom: 0; }
.menu-section__body ul, .menu-section__body ol { color: var(--sg-muted); }
.menu-section .price > p { white-space: pre-wrap; }

@media (min-width: 960px) {
  .menu-columns-2, .menu-columns-3, .menu-columns-4 { display: block; padding: 0; column-gap: var(--sg-gap); }
  .menu-columns-2 .menu-section, .menu-columns-3 .menu-section, .menu-columns-4 .menu-section { margin-bottom: var(--sg-gap); }
}

.menu-move { padding: 18px 4px 0; gap: 12px; }
.menu-move__link { line-height: 1.3; text-align: left; white-space: normal; }
.menu-move__link::after { display: none; }
.menu-move__icon { flex: none; }

.block-testimonials_element {
  padding: 0;
  border-bottom: 0;
  text-align: left;
}
.testimonials__inner {
  padding: clamp(32px, 5vw, 64px) clamp(22px, 5vw, 64px);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  background: var(--sg-paper);
  max-width: calc(var(--sg-wrap) - 2 * var(--sg-gutter));
  width: calc(100% - 2 * var(--sg-gutter));
  margin-inline: auto;
  box-sizing: border-box;
}
.testimonials__row { margin-left: 0; gap: 0; }
.testimonials__row > * { padding-left: 0; min-width: 0; }
@media (min-width: 960px) {
  .testimonials__row { flex-wrap: nowrap; gap: 56px; }
  .testimonials__award { width: auto; flex: 0 0 200px; }
  .testimonials__quotes { width: auto; flex: 1 1 0; }
}
.testimonials__award-image { margin: 0; max-width: 180px; }
.testimonials__item blockquote {
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  font-family: var(--sg-font-body);
  font-weight: 400;
}
.testimonials__item blockquote footer::before { background: var(--sg-line); }
.testimonials__dot { border-radius: 50%; }
.testimonials__dot.is-current { background: var(--sg-sea); }

.testimonials__item .embed-gate:not([data-embed-active]) {
  border: 0;
  background: none;
  padding: 0;
  text-align: left;
}
.testimonials__item .embed-gate:not([data-embed-active]) .embed-gate__actions { justify-content: flex-start; }

.block-iframe { padding-inline: var(--sg-gutter); }
.embed-interior { max-width: min(var(--embed-width, 100%), calc(var(--sg-wrap) - 2 * var(--sg-gutter))); }
.block-iframe .embed-interior > h2 { overflow-wrap: anywhere; margin-bottom: 28px; }
.block-iframe .embed-interior > h4 { margin-bottom: 12px; }
.block-iframe .embed-interior > h4 [uk-icon] { display: none; }
.block-no-space.block-iframe { padding-block: 0 var(--sg-section); }

.embed-interior iframe,
.html-element iframe,
.embed-gate__content iframe {
  border-radius: var(--sg-radius-tile);
  max-width: 100%;
}
.embed-interior > div[style*="grayscale"] { border-radius: var(--sg-radius-tile); overflow: hidden; }

.embed-interior > div[style*="grayscale"]:has(> .embed-gate:not([data-embed-active])) {
  -webkit-filter: none !important;
  filter: none !important;
}
.embed-interior > div[style*="grayscale"] .embed-gate:not([data-embed-active]) { border-radius: var(--sg-radius-tile); }

.embed-gate {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  margin-inline: auto;
  padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 40px);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  background: var(--sg-paper);
  text-align: center;
  overflow-wrap: anywhere;
}
.embed-interior .embed-gate:not([data-embed-active]),
.html-element .embed-gate:not([data-embed-active]) { max-width: 720px; }
.embed-gate__note {
  max-width: 56ch;
  margin: 0 auto 18px;
  color: var(--sg-muted);
  font-size: 15px;
  line-height: 1.7;
}
.embed-gate__note strong { color: var(--sg-ink); font-weight: 700; }
.embed-gate__actions { gap: 6px 22px; }
.embed-gate__actions .btn { max-width: 100%; }
.embed-gate__show.btn-outline { background: var(--sg-ink); border-color: var(--sg-ink); color: #fff; }
.embed-gate__show.btn-outline:hover { background: #000; border-color: #000; color: #fff; }
.embed-gate[data-embed-active] { border: 0; border-radius: 0; background: none; padding: 0; text-align: inherit; max-width: none; }

.html-element { overflow-wrap: break-word; }
.html-element table { display: block; overflow-x: auto; }

@media (max-width: 899px) {
  body:has(.cliff-reserve-sticky) { --sg-reserve-h: 64px; padding-bottom: calc(var(--sg-dock-space) + var(--sg-reserve-h)); }

  body .cliff-reserve-sticky {
    left: 12px;
    right: 12px;
    bottom: calc(var(--sg-dock-space) + 4px);
    z-index: 890;
    padding: 6px;
    background: rgba(251, 248, 242, .97);
    border: 1px solid var(--sg-line);
    border-radius: var(--sg-radius-pill);
    box-shadow: var(--sg-shadow-dock);
    -webkit-backdrop-filter: saturate(1.2) blur(8px);
    backdrop-filter: saturate(1.2) blur(8px);
  }
  .block .cliff-reserve-sticky .uk-button,
  .cliff-reserve-sticky .uk-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    min-height: 44px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: var(--sg-radius-pill);
    background: var(--sg-ink);
    color: #fff;
    font: 700 13px/1.2 var(--sg-font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .block .cliff-reserve-sticky .uk-button:hover,
  .cliff-reserve-sticky .uk-button:hover { background: #000; color: #fff; }
  .cliff-reserve-sticky .uk-button:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }
  body:has(.cliff-reserve-sticky) .site-footer { margin-bottom: calc((var(--sg-dock-space) + var(--sg-reserve-h)) * -1); }
  body:has(.cliff-reserve-sticky) .site-footer__container { padding-bottom: calc(40px + var(--sg-dock-space) + var(--sg-reserve-h)); }
  body:has(.cliff-reserve-sticky) .cookie-banner,
  body:has(.cliff-reserve-sticky) .cookie-options,
  body:has(.cliff-reserve-sticky) .cookie-message,
  body:has(.cliff-reserve-sticky) .sg-notice { bottom: calc(var(--sg-dock-space) + var(--sg-reserve-h) + 8px); }
}
@media print { .cliff-reserve-sticky { display: none !important; } }

.outlet {
  height: 100%;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
}
.outlet__image { display: block; width: 100%; height: auto; }
.outlet__body { padding: 24px 26px 28px; }
.outlet__body h3 { overflow-wrap: anywhere; }

.popup-modal {
  width: 560px;
  max-width: calc(100% - 32px);
  max-height: calc(100dvh - 48px);
  overflow: auto;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  background: var(--sg-paper);
  color: var(--sg-ink);
  box-shadow: var(--sg-shadow-panel);
}
@media (min-width: 960px) {
  .popup-modal--popup-layout-2 { width: 820px; }
}
.popup-modal::backdrop { background: rgba(21, 58, 69, .55); }
.popup-modal__media .popup-modal__image { border-radius: 0; }
.popup-modal__body { padding: 30px 32px 34px; }
.popup-modal__body p { color: var(--sg-muted); }
.popup-modal__heading { font-size: clamp(24px, 3vw, 32px); overflow-wrap: anywhere; padding-right: 40px; }
.popup-modal__close,
.popup-modal--popup-layout-2 .popup-modal__close {
  top: 12px;
  right: 12px;
  transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: var(--sg-paper);
  color: var(--sg-ink);
  cursor: pointer;
}
.popup-modal__close:hover { border-color: var(--sg-ink); }
.popup-modal__close svg { width: 16px; height: 16px; }
.popup-modal.on-dark { background: var(--sg-sea); border-color: var(--sg-sea); color: #fff; }
.popup-modal.on-dark .popup-modal__heading, .popup-modal.on-dark h2, .popup-modal.on-dark h3 { color: #fff; }
.popup-modal.on-dark .popup-modal__body p { color: var(--sg-sea-tint); }

:is(.navbar-element__nav, .restaurant-menu__tabs, .block-tabs_element .tabs__nav, .featured-tabs__nav)[data-sg-fade="end"] {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent);
  mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent);
}
:is(.navbar-element__nav, .restaurant-menu__tabs, .block-tabs_element .tabs__nav, .featured-tabs__nav)[data-sg-fade="start"] {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 56px);
  mask-image: linear-gradient(to right, transparent, #000 56px);
}
:is(.navbar-element__nav, .restaurant-menu__tabs, .block-tabs_element .tabs__nav, .featured-tabs__nav)[data-sg-fade="both"] {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 56px), transparent);
  mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 56px), transparent);
}

.html-element > .uk-container {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: var(--sg-gutter);
}
.html-element > .uk-margin-medium-bottom { margin-bottom: 48px; }
.html-element > .uk-margin-large-top { margin-top: 56px; }
.html-element .uk-margin-medium-top { margin-top: 32px; }
.html-element > .uk-margin-large-top:empty,
.html-element > .uk-margin-large-top:has(> #cliff-opentable-widget:empty) { margin-top: 0; }

.block-blog_items {
  background: var(--sg-paper);
  padding-block: 100px;
  margin-block: 0;
}
* + .block-blog_items.block-flush { margin-top: 0; }
@media (max-width: 900px) { .block-blog_items { padding-block: 72px; } }

.sg-stories__head { margin-bottom: 36px; }
.sg-stories__heading { min-width: 0; }
.sg-stories__heading > * { margin: 0; text-align: left !important; }
.sg-stories__heading h4,
.sg-stories__heading .sg-eye { margin: 0 0 12px; }
.sg-stories__heading h2 { font-size: clamp(28px, 3vw, 42px); overflow-wrap: anywhere; }
.sg-stories__more { flex: none; }

.sg-stories__list { display: block; }
.sg-story { margin: 0; }
.sg-story__link {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--sg-line);
  color: var(--sg-ink);
  text-decoration: none;
}
.sg-story:last-child .sg-story__link { border-bottom: 1px solid var(--sg-line); }
.sg-story__link:hover, .sg-story__link:focus-visible { color: var(--sg-ink); text-decoration: none; }
.sg-story__link:focus-visible { outline-offset: -2px; border-radius: 14px; }

.sg-story__thumb {
  display: block;
  width: 140px;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  margin: 0;
}
.sg-story--no-image .sg-story__link { grid-template-columns: minmax(0, 1fr) auto; }
.sg-stories__list--no-image .sg-story__link { grid-template-columns: minmax(0, 1fr) auto; }

.sg-story__text { min-width: 0; display: grid; gap: 4px; }
.sg-story__title,
.sg-story h2.sg-story__title,
.sg-story h3.sg-story__title {
  margin: 0;
  font-family: var(--sg-font-head);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--sg-ink);
  overflow-wrap: anywhere;
  transition: color .2s ease;
}
.sg-story__link:hover .sg-story__title,
.sg-story__link:focus-visible .sg-story__title { color: var(--sg-sea); }
.sg-story__date { font-size: 14px; line-height: 1.5; color: var(--sg-muted); }

.sg-story__tag {
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sg-sea);
  white-space: nowrap;
}

@media (max-width: 900px) {
  .sg-story__link { grid-template-columns: 96px minmax(0, 1fr); gap: 18px; }
  .sg-story__thumb { width: 96px; }
  .sg-story__tag { display: none; }
  .sg-story--no-image .sg-story__link,
  .sg-stories__list--no-image .sg-story__link { grid-template-columns: minmax(0, 1fr); }
}

.blog-section.sg-blog { padding: 90px 0 var(--sg-section); }
@media (max-width: 900px) { .blog-section.sg-blog { padding-top: 56px; } }

.sg-blog__title {
  margin: 0 0 36px;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.post-list__heading.sg-blog__title { font-size: clamp(28px, 3.4vw, 44px); margin: 0 0 28px; text-align: left; }

.sg-blog .blog-search { display: block; margin: 0 0 40px; }
.sg-blog .blog-search__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px 24px;
}
.sg-blog .blog-search__filters { display: flex; flex-wrap: wrap; gap: 16px 24px; min-width: 0; }
.sg-blog .blog-search__field { margin: 0; min-width: 0; }
.sg-blog .blog-search__label {
  display: block;
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-sea);
}
.sg-blog__control { display: flex; gap: 8px; align-items: center; }
.sg-blog .blog-search__select {
  display: block;
  width: auto;
  min-width: 220px;
  max-width: 100%;
  height: 46px;
  margin: 0;
  padding: 0 44px 0 20px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231E4E5C' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 18px center;
  color: var(--sg-ink);
  font: 600 14px/1.2 var(--sg-font-body);
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.sg-blog .blog-search__select:hover { border-color: var(--sg-sea); }
.sg-blog .blog-search__select:focus-visible { border-color: var(--sg-sea); outline: 2px solid var(--sg-sea); outline-offset: 2px; }
.sg-blog .blog-search__go {
  display: inline-flex;
  align-items: center;
  height: 46px;
  margin: 0;
  padding: 0 20px;
  border: 1px solid var(--sg-ink);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-ink);
  color: #fff;
  font: 600 13px/1 var(--sg-font-body);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.sg-blog .blog-search__go:hover { background: #000; }
.sg-blog .blog-search__back { margin: 10px 0 0; }
.sg-blog__back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--sg-sea);
}
.sg-blog__back:hover { color: var(--sg-sea-2); }
.sg-blog .blog-search__back-icon { display: inline-flex; width: 16px; }

.sg-blog .blog-search__search { width: 280px; max-width: 100%; }
.sg-blog .blog-search__input-wrap { position: relative; }
.sg-blog .blog-search__input {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0 50px 0 20px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  font: 400 15px/1.2 var(--sg-font-body);
  -webkit-appearance: none;
  appearance: none;
}
.sg-blog .blog-search__input::placeholder { color: var(--sg-muted); opacity: 1; }
.sg-blog .blog-search__input:focus-visible { border-color: var(--sg-sea); outline: 2px solid var(--sg-sea); outline-offset: 2px; }
.sg-blog .blog-search__submit {
  position: absolute;
  top: 1px; right: 1px; bottom: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  padding: 0;
  border: 0;
  border-radius: var(--sg-radius-pill);
  background: none;
  color: var(--sg-sea);
  cursor: pointer;
}
.sg-blog .blog-search__submit:hover { color: var(--sg-sea-2); }

@media (max-width: 700px) {
  .sg-blog .blog-search__filters,
  .sg-blog .blog-search__field,
  .sg-blog .blog-search__search { width: 100%; }
  .sg-blog .blog-search__select { width: 100%; min-width: 0; flex: 1 1 auto; }
}

.sg-blog .post-list { padding: 0; }
.sg-blog .post-grid.sg-blog__list { display: block; gap: 0; }
.sg-blog .post-grid__counter {
  margin: 0 0 18px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-muted);
}

.sg-blog .post-card.sg-story {
  display: block;
  background: none;
  box-shadow: none;
  color: var(--sg-ink);
}
.sg-blog .sg-story .post-card__body { padding: 0; display: grid; gap: 6px; }
.sg-blog .sg-story .post-card__title { margin: 0; }
.sg-blog .sg-story .post-card__headline {
  margin: 0;
  font-family: var(--sg-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--sg-ink);
}
.sg-blog .post-card__meta { margin: 0; display: grid; gap: 2px; }
.sg-blog .post-card__date,
.sg-blog .post-card__publisher {
  margin: 0;
  font-family: var(--sg-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: var(--sg-muted);
}
.sg-blog .post-card__publisher { font-weight: 700; color: var(--sg-ink); }
.sg-blog .sg-story .post-card__summary {
  margin: 2px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--sg-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (min-width: 901px) { .sg-blog .sg-story .post-card__cat { display: none; } }
.sg-blog .sg-story .post-card__image { aspect-ratio: 4 / 3; }

.sg-blog .post-card--featured {
  display: block;
  margin: 0 0 40px;
  box-shadow: none;
}
.sg-blog .post-card--featured .post-card__link {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: center;
  color: var(--sg-ink);
  text-decoration: none;
}
.sg-blog .post-card--featured .post-card__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.sg-blog .post-card--featured .post-card__body { padding: 44px 48px; gap: 14px; }
.sg-blog .post-card--featured .post-card__title {
  margin: 0;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.2;
  color: var(--sg-ink);
  overflow-wrap: anywhere;
  transition: color .2s ease;
}
.sg-blog .post-card--featured .post-card__link:hover .post-card__title { color: var(--sg-sea); }
.sg-blog .post-card--featured .post-card__link:hover .post-card__image { transform: scale(1.02); }
.sg-blog .post-card--featured .post-card__media,
.sg-blog .post-card--featured .post-card__link > img { overflow: hidden; }
.sg-blog .post-card--featured .post-card__headline {
  margin: 0;
  font-family: var(--sg-font-body);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--sg-ink);
}
.sg-blog .post-card--featured .post-card__summary { margin: 0; font-size: 16px; color: var(--sg-muted); }
.sg-blog .post-card--featured .post-card__date { order: -1; }
.sg-blog .post-card--featured .post-card__link:focus-visible { outline-offset: -4px; border-radius: var(--sg-radius-tile); }
@media (max-width: 900px) {
  .sg-blog .post-card--featured .post-card__link { grid-template-columns: minmax(0, 1fr); }
  .sg-blog .post-card--featured .post-card__image { aspect-ratio: 3 / 2; }
  .sg-blog .post-card--featured .post-card__body { padding: 24px 22px 28px; }
  .sg-blog .post-card--featured { margin-bottom: 28px; }
}

.sg-blog .post-list__empty { margin: 24px 0; text-align: left; color: var(--sg-muted); }

.sg-blog .pagination { display: flex; justify-content: center; margin: 48px 0 0; }
.sg-blog .pagination__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sg-blog .pagination__item { padding: 0; }
.sg-blog .pagination__item::before { content: none; }
.sg-blog .pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .2s ease, color .2s ease;
}
.sg-blog a.pagination__link:hover { border-color: var(--sg-sea); color: var(--sg-sea); text-decoration: none; }
.sg-blog .pagination__link--current { background: var(--sg-ink); border-color: var(--sg-ink); color: #fff; }
.sg-blog .pagination__item--previous .pagination__link,
.sg-blog .pagination__item--next .pagination__link {
  padding: 0 18px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sg-blog .pagination__icon { display: inline-flex; width: 16px; }

.section.sg-post { padding: 90px 0 var(--sg-section); }
@media (max-width: 900px) { .section.sg-post { padding-top: 56px; } }

.sg-post__column {
  box-sizing: content-box;
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--sg-gutter);
}

.sg-post__eyebrow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 18px;
  margin: 0 0 18px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-sea);
}
.sg-post .blog-post__tags { display: block; }
.sg-post .blog-post__tag-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
.sg-post .blog-post__tag-list > li { padding: 0; }
.sg-post .blog-post__tag-list > li::before { content: none; }
.sg-post .blog-post__tag-label { color: var(--sg-muted); }
.sg-post .blog-post__tag-list a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font: inherit;
  letter-spacing: inherit;
  color: var(--sg-sea);
  text-decoration: none;
}
.sg-post .blog-post__tag-list a:hover { color: var(--sg-sea-2); text-decoration: underline; }
.sg-post .blog-post__date {
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: var(--sg-muted);
}
.sg-post .blog-post__tags + .blog-post__date::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 18px 2px 0;
  border-radius: 50%;
  background: var(--sg-line);
  vertical-align: middle;
}

.sg-post .blog-post__title {
  margin: 0;
  text-align: center;
  font-family: var(--sg-font-head);
  font-size: clamp(34px, 4.4vw, 54px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--sg-ink);
  overflow-wrap: anywhere;
}
.sg-post .blog-post__headline {
  margin: 22px 0 0;
  text-align: center;
  font-family: var(--sg-font-body);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--sg-muted);
}
.sg-post .blog-post__publisher {
  margin: 18px 0 0;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sg-ink);
}

.sg-post__hero {
  max-width: 1100px;
  margin: 48px auto 0;
  padding-inline: var(--sg-gutter);
  box-sizing: content-box;
}
.sg-post .blog-post__media { text-align: center; }
.sg-post .blog-post__image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 72vh;
  object-fit: cover;
  border-radius: var(--sg-radius-tile);
  margin: 0;
}

.sg-post .blog-post__body { margin-top: 36px; }

.sg-post__share {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.sg-post .blog-post__share-label {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-muted);
}
.sg-post .blog-post__share-row { display: block; }
.sg-post .blog-post__share {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sg-post .blog-post__share > li { padding: 0; }
.sg-post .blog-post__share > li::before { content: none; }
.sg-post .blog-post__share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: var(--sg-paper);
  color: var(--sg-sea);
  transition: border-color .2s ease, color .2s ease;
}
.sg-post .blog-post__share-link:hover { border-color: var(--sg-sea); color: var(--sg-sea-2); }
.sg-post .blog-post__share-link .icon,
.sg-post .blog-post__share-link svg { width: 18px; height: 18px; }

.sg-post .blog-post__rule,
.sg-post .blog-post__rule-end {
  margin: 36px 0;
  border: 0;
  border-top: 1px solid var(--sg-line);
}
.sg-post .blog-post__article { font-size: 18px; line-height: 1.8; }
.sg-post .blog-post__article > :first-child { margin-top: 0; }
.sg-post .blog-post__article h2 { margin-top: 1.8em; }
.sg-post .blog-post__article h3 { margin-top: 1.5em; }
.sg-post .blog-post__article table { width: 100%; max-width: 100%; }
.sg-post .blog-post__original { margin: 28px 0 0; text-align: center; }

.sg-post__more {
  margin-top: var(--sg-section);
  padding-block: 0;
}
.sg-post__more-title { margin: 0; font-size: clamp(28px, 3vw, 42px); overflow-wrap: anywhere; }
.sg-post__more .sg-stories__list:empty { display: none; }

@media (max-width: 600px) {
  .sg-blog .sg-story__link { align-items: start; }
  .sg-blog .sg-story .post-card__summary { display: none; }
}
@media (max-width: 600px) {
  .sg-post .blog-post__tags + .blog-post__date::before { display: none; }
  .sg-post__eyebrow { flex-direction: column; gap: 0; }
}

.sg-table-scroll { max-width: 100%; overflow-x: auto; margin: 24px 0; border-radius: 4px; }
.sg-table-scroll > table { margin: 0; }
.sg-table-scroll:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 2px; }
@media (max-width: 600px) {
  .sg-post .blog-post__article table { font-size: 14px; line-height: 1.5; }
  .sg-post .blog-post__article table th { padding: 10px 8px; font-size: 11px; letter-spacing: .04em; }
  .sg-post .blog-post__article table td { padding: 10px 8px; min-width: 6.5em; }
}

.sg-room__intro { padding-block: var(--sg-section) calc(var(--sg-section) * .6); }
.sg-room__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 360px);
  gap: 72px;
  align-items: start;
}
.sg-room__copy { min-width: 0; max-width: 720px; }
.sg-room__copy .sg-eye { margin: 0 0 14px; }
.sg-room__text h2 {
  margin: 0 0 26px;
  font-size: clamp(34px, 1.4rem + 2.4vw, 54px);
  line-height: 1.12;
  text-align: left;
  overflow-wrap: anywhere;
}
.sg-room__text p { margin: 0 0 1.1em; color: var(--sg-ink); }
.sg-room__text p:last-child { margin-bottom: 0; }

.sg-room__book { min-width: 0; position: sticky; top: 32px; }
.sg-room__book-tile {
  display: grid;
  gap: 18px;
  padding: 30px 30px 24px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
}
.sg-room__book-tile > * { margin: 0; }
.sg-room__book-name {
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.25;
  color: var(--sg-ink);
  overflow-wrap: anywhere;
}
.sg-room__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sg-room__chips li {
  padding: 6px 13px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-cream);
  color: var(--sg-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.sg-room__book-cta .uk-button { width: 100%; }
.sg-room__book-more { border-top: 1px solid var(--sg-line); padding-top: 6px; }

@media (max-width: 959px) {
  .sg-room__intro-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .sg-room__book { position: static; }
  .sg-room__copy { max-width: none; }
}
@media (max-width: 600px) {
  .sg-room__book-tile { padding: 24px 22px 18px; }
}

.sg-room__amenities { padding-bottom: calc(var(--sg-section) * .6); }
.sg-room__list .sg-tile__body { padding: 32px 34px 26px; gap: 14px; }
.sg-room__list h3 {
  margin: 0;
  font-size: 22px;
  text-align: left;
  overflow-wrap: anywhere;
}
.sg-room__list ul { margin: 0; padding: 0; list-style: none; }
.sg-room__list li {
  position: relative;
  padding: 13px 0 13px 30px;
  border-top: 1px solid var(--sg-line);
  color: var(--sg-ink);
  text-align: left;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.sg-room__list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 50%;
  width: 11px;
  height: 6px;
  border-left: 2px solid var(--sg-sea);
  border-bottom: 2px solid var(--sg-sea);
  transform: translateY(-70%) rotate(-45deg);
}
@media (max-width: 600px) {
  .sg-room__list .sg-tile__body { padding: 26px 22px 20px; }
}

.sg-room__more { padding-inline: var(--sg-gutter); }
.sg-room__more > .block-content_basic_element {
  max-width: calc(var(--sg-wrap) - 2 * var(--sg-gutter));
  margin: calc(var(--sg-section) * .4) auto;
  padding: 64px 0 58px;
  background: var(--sg-sea);
  border-radius: var(--sg-radius-tile);
  color: #fff;
}
.sg-room__more > .block-content_basic_element .text-content { padding-block: 0; }
.sg-room__more > .block-content_basic_element h2 { color: #fff; margin-bottom: 18px; }
.sg-room__more > .block-content_basic_element p { color: #fff; }
.sg-room__more > .block-content_basic_element a:not(.uk-button) { color: #fff; }
.sg-room__more > .block-content_basic_element .uk-button.uk-button-primary {
  background: #fff;
  border-color: #fff;
  color: var(--sg-sea);
  margin-top: 8px;
}
.sg-room__more > .block-content_basic_element .uk-button.uk-button-primary:hover {
  background: var(--sg-cream);
  border-color: var(--sg-cream);
  color: var(--sg-sea-2);
}
.sg-room__more > .block-content_basic_element :focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 600px) {
  .sg-room__more > .block-content_basic_element { padding: 44px 0 40px; }
}

.sg-room__photos { padding-bottom: calc(var(--sg-section) * .5); scroll-margin-top: 24px; }
.sg-room__photos:focus { outline: none; }
.sg-room__photos > .block-gallery_grid { margin-top: calc(var(--sg-section) * .4); }

.room-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--sg-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) { .room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .room-grid { grid-template-columns: minmax(0, 1fr); } }
.room-grid .room-card { min-width: 0; }
.room-grid .room-card > a {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
  color: var(--sg-ink);
  text-decoration: none;
}
.room-grid .room-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .6s ease;
}
.room-grid .room-card > a:hover img { transform: scale(1.02); }
.room-grid .room-cat,
.room-grid .room-card h3,
.room-grid .more { display: block; margin-inline: 26px; }
.room-grid .room-cat {
  margin-top: 22px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-sea);
}
.room-grid .room-card h3 { margin-top: 6px; margin-bottom: 4px; font-size: 22px; overflow-wrap: anywhere; }
.room-grid .more {
  margin-top: auto;
  padding: 8px 0 18px;
  min-height: 44px;
  color: var(--sg-sea);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.room-grid .more::after { content: "\00a0\00a0\2192"; }
.room-grid .room-card > a, .room-grid .room-card > a * { text-decoration: none; }
.room-grid .room-card > a:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }
.room-grid .room-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0 26px 10px;
  color: var(--sg-muted);
  font-size: 14px;
  line-height: 1.5;
}

.sg-room__photos .gallery-item__frame { border-radius: var(--sg-radius-tile); overflow: hidden; }

.sg-room__list li pre,
.sg-room__list li pre span {
  margin: 0 !important;
  padding: 0;
  background: none;
  border: 0;
  font: inherit !important;
  line-height: inherit !important;
  white-space: normal;
  color: inherit;
}

.sg-room__photos .block-gallery_grid > .container {
  max-width: calc(var(--sg-wrap) - 2 * var(--sg-gutter));
  padding-inline: var(--sg-gutter);
}

:root {
  --sg-danger: #A3302A;
  --sg-danger-tint: #F7E7E3;
  --sg-field-line: #CFC3AF;
  --sg-ok: #2F6B4F;
}

:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(
  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
):not(.search-page__input):not(.sg-search__input) {
  height: 50px;
  padding: 0 16px;
  border: 1px solid var(--sg-field-line);
  border-radius: var(--sg-radius-field);
  background-color: #fff;
  color: var(--sg-ink);
  font-family: var(--sg-font-body);
  font-size: 16px;
  line-height: 1.4;
}
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) textarea:not(.search-page__input) {
  height: auto;
  min-height: 150px;
  padding: 14px 16px;
  line-height: 1.6;
  resize: vertical;
}
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) select:not([multiple]):not([size]) {
  padding-right: 44px;
  background-position: right 14px center;
  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%231E4E5C%22%20stroke-width%3D%221.4%22%20points%3D%2216%207%2010%2013%204%207%22%2F%3E%3C%2Fsvg%3E");
}
:is(.cliff-form, .signup-compact, .events-index) ::placeholder { color: var(--sg-muted); opacity: 1; }

:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):hover {
  border-color: var(--sg-muted);
}
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):focus {
  background-color: #fff;
  border-color: var(--sg-sea);
}
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):focus-visible {
  outline: none;
  border-color: var(--sg-sea);
  box-shadow: 0 0 0 3px rgba(30, 78, 92, .28);
}

:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(input[type="checkbox"], input[type="radio"]) {
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid var(--sg-muted);
  border-radius: 6px;
  background-color: #fff;
  background-size: 14px;
}
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) input[type="radio"] { border-radius: 50%; background-size: 20px; }
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(input[type="checkbox"], input[type="radio"]):checked,
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(input[type="checkbox"], input[type="radio"]):checked:focus {
  background-color: var(--sg-sea);
  border-color: var(--sg-sea);
}
:is(.cliff-form, .signup-compact, .events-index, .events__mobile) :is(input[type="checkbox"], input[type="radio"]):focus-visible {
  outline: 2px solid var(--sg-sea);
  outline-offset: 3px;
}

.cliff-form { font-family: var(--sg-font-body); color: var(--sg-ink); }
.form-fields { gap: 22px; }
@media (min-width: 768px) {
  .form-fields { column-gap: 24px; row-gap: 22px; }
}

.field__label,
.field__legend {
  margin-bottom: 8px;
  font-family: var(--sg-font-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .02em;
  color: var(--sg-ink);
}
.field__required { color: var(--sg-danger); margin-left: 2px; }
.field__instructions { margin: -2px 0 8px; font-size: 14px; line-height: 1.5; color: var(--sg-muted); }

.form-required-note {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--sg-muted);
}

.field__options { gap: 4px 28px; padding-top: 2px; }
.field .field__option {
  gap: 12px;
  font-size: 16px;
  font-weight: 400;
  color: var(--sg-ink);
}
.field__group:focus-visible {
  outline: 2px solid var(--sg-sea);
  outline-offset: 6px;
  border-radius: 8px;
}

.field--invalid .field__label,
.field--invalid .field__legend { color: var(--sg-danger); }
.field--invalid :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
  border-color: var(--sg-danger);
  box-shadow: inset 0 0 0 1px var(--sg-danger);
}
.field--invalid :is(input[type="checkbox"], input[type="radio"]) { border-color: var(--sg-danger); }
.field-error {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--sg-danger);
}
.field-error::before {
  content: "!";
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--sg-danger);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(3px);
}

.field__group > .field-error { clear: both; margin: 0 0 10px; }

.form-actions { margin-top: 32px; }
.cliff-form .form-actions .btn,
.cliff-form .btn-solid,
.signup-compact .btn-solid {
  min-width: 12rem;
  min-height: 50px;
  padding: 0 32px;
  border: 1px solid var(--sg-ink);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-ink);
  color: #fff;
  font-family: var(--sg-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cliff-form .form-actions .btn:hover,
.cliff-form .btn-solid:hover { background: #000; border-color: #000; color: #fff; }
@media (max-width: 479px) {
  .cliff-form .form-actions .btn { width: 100%; }
}

.cliff-form .notice,
.signup-compact .notice {
  margin: 0 0 24px;
  padding: 20px 24px;
  border: 1px solid var(--sg-line);
  border-left: 0;
  border-radius: 16px;
  background: var(--sg-paper);
  color: var(--sg-ink);
}
.cliff-form .notice-success,
.signup-compact .notice-success {
  border-color: var(--sg-sea);
  background: var(--sg-sea);
  color: #fff;
}
.cliff-form .notice-success .notice__heading { color: #fff; }
.cliff-form .notice-success p { color: var(--sg-sea-tint); }
.cliff-form .notice-error,
.signup-compact .notice-error {
  border: 1px solid var(--sg-danger);
  border-left: 6px solid var(--sg-danger);
  background: var(--sg-danger-tint);
}
.notice__heading {
  margin: 0 0 6px;
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  color: var(--sg-ink);
}
.cliff-form .notice-error .notice__heading { color: var(--sg-danger); }
.cliff-form .notice ul, .signup-compact .notice ul { margin: 10px 0 0; padding-left: 20px; }
.cliff-form .notice-error a { color: var(--sg-danger); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cliff-form .notice-error a:hover { color: #7A211C; }
[data-form-errors]:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }

.signup-compact__heading { font-family: var(--sg-font-head); font-weight: 700; font-size: 24px; color: var(--sg-ink); }
.signup-compact__note { color: var(--sg-muted); font-size: 16px; }
.signup-compact__row { gap: 12px; align-items: stretch; }
.signup-compact__row .btn {
  min-height: 50px;
  padding: 0 28px;
  border-radius: var(--sg-radius-pill);
  background: var(--sg-ink);
  border-color: var(--sg-ink);
  color: #fff;
}
.signup-compact__row .btn:hover { background: #000; border-color: #000; color: #fff; }

.text-content:has(> .cliff-form),
.intro-style-3__main:has(.cliff-form) { overflow-wrap: anywhere; }

.events-index { padding-top: 64px; }
@media (max-width: 900px) { .events-index { padding-top: 40px; } }

.events-index__head { margin-bottom: 28px; }
.events-index__title {
  margin: 0;
  font-size: clamp(34px, 1.4rem + 2.6vw, 58px);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}

.events-index__filter-wrap {
  margin: 0;
  padding: 16px 18px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
}
.events-index__filter { font-size: 15px; }
.events-index__menu { align-items: center; margin: 0; width: 100%; gap: 16px; }
.events-index__views-col, .events-index__picker-col { padding-left: 0; }
@media (min-width: 960px) {
  .events-index__views-col  { flex: 1 1 auto; }
  .events-index__picker-col { flex: 0 1 auto; }
}

.events-index__views {
  display: inline-flex;
  width: auto;
  gap: 4px;
  padding: 4px;
  background: var(--sg-cream);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
}
.events-index__views::after { display: none; }
.events-index__view { font-size: 14px; }
.events-index__view-face {
  gap: 8px;
  height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: var(--sg-radius-pill);
  color: var(--sg-ink);
  font-weight: 600;
  letter-spacing: .02em;
  transition: background-color .2s ease, color .2s ease;
}
.events-index__view:hover .events-index__view-face { background: var(--sg-paper); }
.events-index__view input:checked + .events-index__view-face {
  background: var(--sg-sea);
  border-color: var(--sg-sea);
  color: #fff;
}
.events-index__view input:focus-visible + .events-index__view-face {
  outline: 2px solid var(--sg-sea);
  outline-offset: 2px;
}
@media (max-width: 959px) {
  .events-index__view-face { padding: 0 12px; min-width: 44px; justify-content: center; }
  .events-index__view input:checked + .events-index__view-face { padding: 0 16px; }
}

.events-index__picker { align-items: center; gap: 10px; }
.events-index__month-year { gap: 10px; }
.events-index__month-year .events-index__field { flex: 0 0 auto; }
.events-index__month-year select { width: 160px; }
.events-index__month-year .events-index__year { width: 110px; }
.events-index__steps { gap: 6px; }
.events-index__step,
.events-index__settings {
  width: 44px;
  min-height: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--sg-line);
  border-radius: 50%;
  background: #fff;
  color: var(--sg-ink);
}
.events-index__step--next { margin-left: 0; }
.events-index__step:hover,
.events-index__settings:hover {
  background: var(--sg-sea);
  border-color: var(--sg-sea);
  color: #fff;
}
@media (max-width: 959px) {
  .events-index__step, .events-index__settings { padding: 0; }
}

@media (min-width: 960px) {
  .events-index__tagrow { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--sg-line); }
  .events-index__tagfield .events-index__select { min-width: 260px; }
}

.events-index__current {
  margin: 14px 0 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sg-sea);
}

.events-index__submit { margin-top: 12px; }
.events-index__go {
  min-height: 44px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--sg-radius-pill);
  background: var(--sg-ink);
  color: #fff;
  font-family: var(--sg-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.events-index__panel-label { font-size: 14px; font-weight: 700; color: var(--sg-ink); margin-bottom: 8px; }
.events-index__panel-list > li + li { border-top: 1px solid var(--sg-line); }
.events-index__panel-check { min-height: 48px; gap: 12px; font-size: 16px; line-height: 1.45; }
.events-index__panel-check input { flex: none; }
.events-index__panel-go.btn {
  min-height: 50px;
  border-radius: var(--sg-radius-pill);
  background: var(--sg-ink);
  border-color: var(--sg-ink);
  color: #fff;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.events-index__panel-close {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  color: var(--sg-ink);
}
.events-index__panel-close:hover { background: var(--sg-cream); }
.js .events-index__panel {
  background: var(--sg-paper);
  border-radius: var(--sg-radius-tile) 0 0 var(--sg-radius-tile);
  box-shadow: var(--sg-shadow-panel);
  padding: 72px 24px 24px;
  z-index: 1010;
}

.events-index__results { margin: 40px 0 0; padding-bottom: 40px; }
@media (min-width: 959px) { .events-index__results { margin: 48px 0 0; padding-bottom: 60px; } }

.events-index__empty {
  padding: 72px 24px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
}
.events-index__empty-text {
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: 24px;
  color: var(--sg-ink);
}

.events__grid { gap: var(--sg-gap); }
.events__grid--tiles .event-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
}
.event-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.event-card__image { transition: transform .6s ease; }
.event-card:hover .event-card__image { transform: scale(1.02); }
.events__grid--tiles .event-card__body { padding: 24px 28px 26px; flex: 1 1 auto; display: flex; flex-direction: column; }
.events__grid--tiles .cards-content { display: flex; flex-direction: column; flex: 1 1 auto; }
.cards-border { display: none; }

.event-card-badge-prefix {
  display: block;
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sg-sea);
}
.event-card__title {
  margin: 0;
  font-size: 24px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.event-card__title a { color: var(--sg-ink); text-decoration: none; }
.event-card__title a:hover { color: var(--sg-sea); }
.event-card__dates { margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: var(--sg-muted); }
.event-card__text { color: var(--sg-muted); }
.events__grid--tiles .event-card__actions { margin-top: auto; padding-top: 14px; }

.sg-datechip {
  position: absolute;
  top: 16px;
  left: 16px;
  display: grid;
  justify-items: center;
  min-width: 58px;
  padding: 8px 10px 9px;
  border-radius: 14px;
  background: var(--sg-sea);
  color: #fff;
  line-height: 1;
  box-shadow: 0 6px 16px rgba(21, 58, 69, .22);
}
.sg-datechip__day { font-family: var(--sg-font-head); font-weight: 700; font-size: 24px; }
.sg-datechip__mon { margin-top: 4px; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }

.events__grid--list .event-card { padding: 22px 0; border-top: 1px solid var(--sg-line); }
.events__grid--list .event-card:last-child { border-bottom: 1px solid var(--sg-line); }
.events__grid--list .event-card + .event-card { border-top: 1px solid var(--sg-line); }
.events__grid--list .event-card__media { border-radius: 14px; }
.events__grid--list .event-card__title { font-size: 22px; }
@media (min-width: 640px) {
  .events__grid--list .event-card { grid-template-columns: 200px minmax(0, 1fr); gap: 28px; }
}

.events__header h2 { overflow-wrap: anywhere; }
.events__tab {
  min-height: 44px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--sg-ink);
}
.events__tab:hover { color: var(--sg-sea); }
.events__tab-item.is-active .events__tab { color: var(--sg-sea); border-bottom: 2px solid var(--sg-sea); }
.events__tab:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: -4px; border-radius: 8px; }
.events__mobile-label { font-size: 14px; font-weight: 700; color: var(--sg-ink); }
.events__select { height: 50px; }
.events__footer-action { margin-top: 40px; }

.events-index__list { border-top: 1px solid var(--sg-line); }
.events-index__list > li { border-bottom: 1px solid var(--sg-line); }
.events-index__list > li:not(:last-child) { border-bottom-color: var(--sg-line); }
.events-list-grid { gap: 28px; align-items: flex-start; padding: 26px 0; }
.events-list-day {
  min-width: 0;
  padding: 0;
  border: 0;
}
@media (min-width: 960px) { .events-list-day { min-width: 0; } }
.events-list-day-inner {
  display: grid;
  justify-items: center;
  width: 84px;
  padding: 12px 8px 13px;
  border-radius: 16px;
  background: var(--sg-sea);
  color: #fff;
  line-height: 1;
}
.events-list-weekday, .events-list-month {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  color: #fff;
}
.events-list-number {
  margin: 6px 0 5px;
  font-family: var(--sg-font-head);
  font-weight: 700;
  font-size: 32px;
  color: #fff;
}
.events-list-body { padding: 4px 0 0; }
.events-list-title { font-size: clamp(20px, 1.6vw, 26px); line-height: 1.3; overflow-wrap: anywhere; }
.events-list-title a { color: var(--sg-ink); }
.events-list-title a:hover { color: var(--sg-sea); text-decoration: none; }
.events-list-dates { margin-top: 6px; font-size: 15px; color: var(--sg-muted); }
.events-list-summary { margin-top: 10px; color: var(--sg-muted); max-width: 70ch; }
@media (max-width: 600px) {
  .events-list-grid { gap: 18px; padding: 20px 0; }
  .events-list-day-inner { width: 64px; padding: 10px 6px; }
  .events-list-number { font-size: 26px; }
}

.calendar {
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
}
.calendar .days { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar .day-label {
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--sg-line);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sg-sea);
}
.calendar .day-label:nth-child(1) { border-left: 0; }
.calendar .day {
  aspect-ratio: auto;
  min-height: 128px;
  min-width: 0;
  padding: 38px 8px 8px;
  border: 0;
  border-bottom: 1px solid var(--sg-line);
  border-right: 1px solid var(--sg-line);
  background: var(--sg-paper);
  color: var(--sg-ink);
}
.calendar .day:nth-child(7n + 1) { border-left: 0; }
.calendar .day:nth-child(7n) { border-right: 0; }
.calendar .day:nth-last-child(-n + 7) { border-bottom: 0; }
.calendar .day.not-in-month { opacity: 1; background: var(--sg-cream); }
.calendar .day.not-in-month .day-number-label { color: var(--sg-muted); }
.calendar .day.today { background: #fff; }
.calendar .day.today .day-number-label {
  background: var(--sg-ink);
  color: #fff;
}
.calendar .day-number-label {
  top: 8px;
  left: 8px;
  right: auto;
  display: grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  padding: 0 4px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.calendar .calendar-events { max-height: 84px; font-size: 13px; }
.calendar-event {
  margin-bottom: 4px;
  padding: 5px 8px;
  border-radius: 8px;
  background: var(--sg-sea);
  color: #fff;
  font-weight: 600;
}
.calendar-event:hover { background: var(--sg-sea-2); color: #fff; }
.calendar-event:focus-visible { outline: 2px solid var(--sg-ink); outline-offset: 2px; }
.calendar .calendar-event { white-space: normal; text-overflow: clip; line-height: 1.3; }
.calendar .event-calendar-event-title { font-size: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.calendar .day-mobile-events-info { bottom: 6px; right: 6px; }
.calendar-badge {
  min-width: 20px;
  height: 20px;
  background: var(--sg-sea);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.calendar .day.not-in-month .calendar-badge { background: var(--sg-muted); }
@media (max-width: 900px) {
  .calendar .day { min-height: 96px; padding-top: 36px; }
}
@media (max-width: 639px) {
  .calendar .day { min-height: 0; aspect-ratio: 1 / 1; padding: 0; }
  .calendar .day-number-label { top: 4px; left: 50%; transform: translateX(-50%); font-size: 12px; min-width: 24px; height: 24px; }
  .calendar .day-label { padding: 10px 0; letter-spacing: .08em; font-size: 10px; }
  .calendar .day-mobile-events-info { left: 50%; right: auto; bottom: 4px; transform: translateX(-50%); }
  .calendar-badge { min-width: 16px; height: 16px; font-size: 10px; padding: 0 4px; }
}
.calendar-month-list { margin-top: 28px; }

.event { margin-top: 64px; margin-bottom: 90px; }
@media (max-width: 900px) { .event { margin-top: 32px; margin-bottom: 72px; } }
.event__grid { row-gap: var(--sg-gap); }
@media (min-width: 960px) {
  .event__grid { column-gap: 40px; }
  .event__media { position: sticky; top: 32px; }
}
.event__media { border-radius: var(--sg-radius-tile); }
.event__media:empty { display: none; }
.event__grid:has(.event__media:empty) { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-inline: auto; }
.event__card {
  padding: 44px 44px 48px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  box-shadow: none;
}
@media (min-width: 1200px) { .event__card { padding: 52px 52px 56px; } }
@media (max-width: 600px) { .event__card { padding: 28px 22px 32px; } }
.event__title { margin: 0; font-size: clamp(30px, 1.2rem + 2vw, 46px); line-height: 1.15; overflow-wrap: anywhere; }
.event__headline {
  margin: 18px 0 0;
  font-family: var(--sg-font-body);
  font-weight: 400;
  font-size: 19px;
  line-height: 1.6;
  color: var(--sg-muted);
}
.event-data-inner {
  margin: 28px 0 0;
  padding: 20px 22px;
  border-radius: 16px;
  background: var(--sg-sea);
  color: #fff;
}
.event-data-inner > * { color: #fff; }
.event__info-heading { color: #fff; }
.event__info-lines { margin-top: 10px; display: grid; gap: 6px; }
.event__info-line { gap: 4px; color: #fff; font-weight: 600; }
.event__info-line .icon { flex: none; }
.event__dates { color: #fff; margin-top: 4px; }
.event__text { margin: 28px 0 0; }
.event__text p { color: var(--sg-ink); }
.event__actions { margin-top: 28px; gap: 12px; }
.event__strip { border-radius: var(--sg-radius-tile); }

.search-page { padding: 72px 0 40px; }
@media (max-width: 900px) { .search-page { padding-top: 40px; } }
.search-page__title {
  max-width: 900px;
  margin: 0 auto 28px;
  padding-inline: var(--sg-gutter);
  font-size: clamp(34px, 1.4rem + 2.6vw, 58px);
  line-height: var(--lh-tight);
  text-align: center;
}
.search-page__hero > .container { margin-bottom: 32px; }
.search-page__form-row { max-width: 900px; margin-inline: auto; }
.search-page__form-wrap { width: 100%; max-width: none; flex: 1 1 auto; margin: 0; padding: 0; }

.search-page__form,
.sg-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 6px 6px 6px 8px;
  background: #fff;
  border: 1px solid var(--sg-field-line);
  border-radius: var(--sg-radius-pill);
  box-shadow: 0 10px 30px rgba(43, 40, 36, .06);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.search-page__form:focus-within,
.sg-search:focus-within {
  outline: none;
  border-color: var(--sg-sea);
  box-shadow: 0 0 0 3px rgba(30, 78, 92, .28), 0 10px 30px rgba(43, 40, 36, .06);
}
input.search-page__input,
input.sg-search__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 56px;
  padding: 0 18px;
  border: 0;
  border-radius: var(--sg-radius-pill);
  background: transparent;
  box-shadow: none;
  font-family: var(--sg-font-body);
  font-size: 20px;
  color: var(--sg-ink);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
input.search-page__input:focus-visible, input.sg-search__input:focus-visible { outline: none; box-shadow: none; }
input.search-page__input::placeholder, input.sg-search__input::placeholder { color: var(--sg-muted); }
input.sg-search__input::-webkit-search-cancel-button,
input.sg-search__input::-webkit-search-decoration { -webkit-appearance: none; }
@media (min-width: 960px) {
  input.search-page__input { height: 60px; font-size: 22px; }
}
@media (max-width: 600px) {
  input.search-page__input, input.sg-search__input { height: 48px; font-size: 17px; padding: 0 12px; }
}

.search-page__submit,
.sg-search__go {
  position: static;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  min-width: 0;
  height: 56px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--sg-ink);
  color: #fff;
  cursor: pointer;
}
@media (min-width: 960px) { .search-page__submit { width: 60px; height: 60px; } }
@media (max-width: 600px) { .sg-search__go { width: 48px; height: 48px; } }
.search-page__submit:hover, .sg-search__go:hover { background: #000; }
.search-page__submit:focus-visible, .sg-search__go:focus-visible { outline: 2px solid var(--sg-sea); outline-offset: 3px; }
.search-page__submit-icon, .sg-search__icon, .sg-search__icon svg { width: 24px; height: 24px; }

.search-page__submit { display: flex; }
.search-page__submit-wide { display: none; }
@media (max-width: 959px) {
  .search-page__submit { width: 48px; height: 48px; }
}

.search-page__count {
  margin: 22px 0 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--sg-sea);
}

.search-page__results.container-xsmall { max-width: calc(900px + 2 * var(--sg-gutter)); }
.search-page__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--sg-line); }
.search-page__item {
  position: relative;
  margin: 0;
  padding: 24px 40px 24px 0;
  border-bottom: 1px solid var(--sg-line);
}
.search-page__item:first-child { padding-top: 24px; }
.search-page__item::after {
  content: "\2192";
  position: absolute;
  right: 4px;
  top: 28px;
  color: var(--sg-sea);
  transition: transform .2s ease;
}
.search-page__item:hover::after { transform: translateX(3px); }
.search-page__item-title {
  margin: 0;
  font-size: clamp(20px, 1.6vw, 24px);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.search-page__item-link { color: var(--sg-ink); text-decoration: none; }
.search-page__item-link::after { content: ""; position: absolute; inset: 0; }
.search-page__item:hover .search-page__item-link { color: var(--sg-sea); text-decoration: none; }
.search-page__item-link:focus-visible { outline: none; }
.search-page__item:has(.search-page__item-link:focus-visible) {
  outline: 2px solid var(--sg-sea);
  outline-offset: 4px;
  border-radius: 8px;
}
.search-page__item-snippet { margin: 8px 0 0; color: var(--sg-muted); font-size: 16px; line-height: 1.65; }

.search-page .pagination { margin: 36px 0 0; }
.search-page .pagination__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.search-page .pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-paper);
  color: var(--sg-ink);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.search-page a.pagination__link:hover { border-color: var(--sg-sea); color: var(--sg-sea); }
.search-page .pagination__link--current { background: var(--sg-sea); border-color: var(--sg-sea); color: #fff; }

.sg-404 { padding: 90px 0 110px; }
@media (max-width: 900px) { .sg-404 { padding: 48px 0 72px; } }
.sg-404__card {
  max-width: 760px;
  margin: 0 auto;
  padding: 64px 56px 56px;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  text-align: center;
}
@media (max-width: 600px) { .sg-404__card { padding: 40px 22px 36px; } }
.sg-404__title {
  margin: 0;
  font-size: clamp(64px, 3rem + 4vw, 112px);
  line-height: 1;
  color: var(--sg-sea);
}
.sg-404__lede { margin: 18px 0 0; font-size: 19px; color: var(--sg-ink); }
.sg-404__search { max-width: 520px; margin: 32px auto 0; text-align: left; }
.sg-404__home { margin: 28px 0 0; }
.sg-404__links { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--sg-line); }
.sg-404__links ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sg-404__links .sg-link { font-size: 12px; }

@media (max-width: 959px) {
  .events-index__menu { flex-wrap: wrap; justify-content: space-between; row-gap: 12px; }
  .events-index__views-col { flex: 0 1 auto; }
  .events-index__picker-col { flex: 0 0 auto; margin-left: auto; }
  .events-index__picker { justify-content: flex-end; }
}

.hm-intro { padding: var(--sg-section) 0 60px; text-align: center; }
.hm-intro__text { max-width: 1040px; margin-inline: auto; }
.hm-intro__text > * { margin: 0; }
.hm-intro__text h4 { margin: 0 0 12px; }
.hm-intro__text h1 {
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.15;
  margin: 0;
  overflow-wrap: anywhere;
}
.hm-intro__text h4 + h1 { margin-top: 0; margin-bottom: 0; }
.hm-intro__text p {
  max-width: 820px;
  margin: 24px auto 0;
  color: var(--sg-muted);
  font-size: 18px;
  line-height: 1.75;
}
.hm-intro__text .block-button { margin-top: 28px; }

.hm-seal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
  color: var(--sg-muted);
  font-size: 14px;
  line-height: 1.5;
}
.hm-seal > * { margin: 0 !important; text-align: center !important; }
.hm-seal h3 { font-size: 16px; }
.hm-seal img { display: block; height: 40px; width: auto; }
.hm-intro__wide { margin-top: 40px; }
.hm-intro__wide img { width: 100%; height: auto; border-radius: var(--sg-radius-tile); }

.hm-wall-band { padding: 40px 0 var(--sg-section); }
.hm-wall {
  columns: 3 340px;
  column-gap: var(--sg-gap);
}
.hm-wall > * { break-inside: avoid; margin: 0 0 var(--sg-gap); }
.hm-anchor { margin: 0 !important; height: 0; }

.hm-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--sg-paper);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-tile);
  overflow: hidden;
  color: var(--sg-ink);
  scroll-margin-top: 24px;
}
.hm-tile--photo { background: none; border: 0; }
.hm-tile--sea { background: var(--sg-sea); border-color: var(--sg-sea); color: #fff; }

.hm-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hm-r45 { aspect-ratio: 4 / 5; }
.hm-r32 { aspect-ratio: 3 / 2; }
.hm-r11 { aspect-ratio: 1; }

.hm-photo { display: block; border-radius: var(--sg-radius-tile); overflow: hidden; }
.hm-photo .hm-img { height: auto; transition: transform .6s ease; }
.hm-photo:hover .hm-img { transform: scale(1.02); }
.hm-photo:focus-visible { outline-offset: 3px; }

.hm-media { position: relative; overflow: hidden; background: var(--sg-line); }
.hm-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility 0s linear .6s; }
.hm-slide.is-active { opacity: 1; visibility: visible; transition: opacity .6s ease; }
.hm-slide picture, .hm-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hm-slidenav {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 4px;
  background: rgba(251, 248, 242, .94);
  border-radius: var(--sg-radius-pill);
  color: var(--sg-ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}
.hm-slidecount { min-width: 34px; text-align: center; font-variant-numeric: tabular-nums; }
.hm-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--sg-ink);
  cursor: pointer;
}
.hm-arrow:hover { background: var(--sg-cream); }
.hm-arrow svg { width: 16px; height: 16px; }

.hm-words {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 26px 28px 30px;
  min-width: 0;
}
.hm-words > * { margin: 0 !important; }
.hm-words h2, .hm-words h3 { overflow-wrap: anywhere; text-align: left !important; }
.hm-words h2 { font-size: clamp(26px, 2.2vw, 30px); line-height: 1.15; }
.hm-words h3 { font-size: 24px; line-height: 1.2; }
.hm-words h4 { margin: 0; }
.hm-words p { color: var(--sg-muted); text-align: left !important; }
.hm-words p:has(> a:only-child) { margin-top: 4px !important; }
.hm-words .block-button { margin: 4px 0 0; }

.hm-tile--paper .hm-words a.uk-button,
.hm-tile--paper .hm-words a.btn {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--sg-sea);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: normal;
  text-align: left;
}
.hm-tile--paper .hm-words a.uk-button::before { display: none; }
.hm-tile--paper .hm-words a.uk-button::after,
.hm-tile--paper .hm-words a.btn::after {
  content: "\00a0\00a0\2192";
  position: static;
  width: auto;
  height: auto;
  background: none;
  transition: transform .2s ease;
}
.hm-tile--paper .hm-words a.uk-button:hover,
.hm-tile--paper .hm-words a.btn:hover { color: var(--sg-sea-2); background: none; }
.hm-tile--paper .hm-words a.uk-button:hover::after,
.hm-tile--paper .hm-words a.btn:hover::after { transform: translateX(3px); }

.hm-tile--sea .hm-words h2, .hm-tile--sea .hm-words h3, .hm-tile--sea .hm-words h4 { color: #fff; }
.hm-tile--sea .hm-words p { color: var(--sg-sea-tint); }
.hm-tile--sea .hm-words a.uk-button,
.hm-tile--sea .hm-words a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 26px;
  border: 1px solid #fff;
  border-radius: var(--sg-radius-pill);
  background: #fff;
  color: var(--sg-sea);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: normal;
  text-align: center;
}
.hm-tile--sea .hm-words a.uk-button:hover,
.hm-tile--sea .hm-words a.btn:hover { background: var(--sg-cream); border-color: var(--sg-cream); color: var(--sg-sea-2); }
.hm-tile--sea .hm-words a.uk-button::before,
.hm-tile--sea .hm-words a.uk-button::after { display: none; }
.hm-tile--sea .hm-arrow:focus-visible, .hm-tile--sea a:focus-visible { outline-color: #fff; }
.hm-tile--sea .hm-slidenav .hm-arrow:focus-visible { outline-color: var(--sg-sea); }

.hm-journal { background: var(--sg-paper); padding: 100px 0; }
.hm-journal__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.hm-journal__heading > * { margin: 0 !important; text-align: left !important; }
.hm-journal__heading h4 { margin: 0 0 12px !important; }
.hm-journal__heading h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.15; }
.hm-journal__head .btn-link { flex: none; }

.hm-post__link {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--sg-line);
  color: var(--sg-ink);
  text-decoration: none;
}
.hm-post:last-child .hm-post__link { border-bottom: 1px solid var(--sg-line); }
.hm-post__link:hover { color: var(--sg-ink); }
.hm-post__image {
  display: block;
  width: 140px;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  margin: 0;
  background: var(--sg-line);
}
.hm-post__title {
  margin: 0;
  font-family: var(--sg-font-head);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--sg-ink);
  overflow-wrap: anywhere;
  transition: color .2s ease;
}
.hm-post__link:hover .hm-post__title { color: var(--sg-sea); }
.hm-post__tag {
  margin: 0;
  display: flex;
  gap: 4px 12px;
  flex-wrap: wrap;
  justify-content: end;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sg-sea);
  white-space: nowrap;
}
@media (max-width: 900px) {
  .hm-journal { padding: 72px 0; }
  .hm-post__link { grid-template-columns: 96px minmax(0, 1fr); gap: 18px; }
  .hm-post__image { width: 96px; }
  .hm-post__image { grid-row: span 2; }
  .hm-post__title { align-self: end; }
  .hm-post__tag { grid-column: 2; justify-content: start; align-self: start; letter-spacing: .16em; white-space: normal; }
  .hm-post__title { font-size: 17px; }
}

body:has(.hm-wall) .block-testimonials_element,
body:has(.hm-wall) .block-iframe {
  margin: 0;
  border: 0;
  text-align: center;
}
body:has(.hm-wall) .block-testimonials_element { padding: 90px 0 0; }
body:has(.hm-wall) .block-testimonials_element .testimonials__row {
  display: grid;
  justify-items: center;
  gap: 24px;
  margin: 0;
}
body:has(.hm-wall) .block-testimonials_element .testimonials__row > * { width: 100%; padding: 0; }
body:has(.hm-wall) .block-testimonials_element .testimonials__award { display: flex; justify-content: center; }
body:has(.hm-wall) .block-testimonials_element .testimonials__award-image { height: 96px; width: auto; margin: 0; }
body:has(.hm-wall) .block-iframe { padding: 56px 0 90px; }
body:has(.hm-wall) .block-iframe h2 { font-size: clamp(30px, 3vw, 38px); }
@media (max-width: 900px) {
  body:has(.hm-wall) .block-testimonials_element { padding-top: 72px; }
  body:has(.hm-wall) .block-iframe { padding: 48px 0 72px; }
}

.pr { color: var(--sg-ink); }
.pr-eyebrow {
  margin: 0 0 12px; font-family: var(--sg-font-body); font-size: 12px; font-weight: 700;
  letter-spacing: .24em; line-height: 1.5; text-transform: uppercase; color: var(--sg-sea);
}
.pr-eyebrow--light { color: var(--sg-white); }
.pr-eyebrow--small { margin: 0; font-size: 11px; letter-spacing: .2em; }

.pr-head { padding: 56px 0 50px; text-align: center; }
.pr-head h1 { margin: 0; font-family: var(--sg-font-head); font-weight: 700; font-size: clamp(38px, 5vw, 58px); line-height: 1.15; }
.pr-lede { max-width: 760px; margin: 24px auto 0; font-size: 18px; color: var(--sg-muted); }
.pr-contact {
  display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 18px;
  margin-top: 34px; padding: 12px 26px; background: var(--sg-paper); border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius-pill); font-size: 15px;
}
.pr-contact__label { font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--sg-muted); }
.pr-contact a { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--sg-sea); }

.pr-feature-wrap { padding-bottom: 90px; }
.pr-feature { display: flex; flex-wrap: wrap; background: var(--sg-sea); border-radius: var(--sg-radius-tile); overflow: hidden; }
.pr-feature__media { flex: 1 1 480px; min-width: 0; min-height: 460px; max-height: 560px; width: 100%; object-fit: cover; display: block; }
.pr-feature__body { flex: 1 1 440px; min-width: 0; padding: 56px 52px; display: flex; flex-direction: column; gap: 20px; justify-content: center; }
.pr-feature__body .pr-eyebrow { margin: 0; }
.pr-feature h2 { margin: 0; font-family: var(--sg-font-head); font-weight: 700; font-size: clamp(26px, 3vw, 36px); line-height: 1.18; color: var(--sg-white); }
.pr-feature blockquote { margin: 0; font-size: 19px; line-height: 1.6; font-style: italic; color: var(--sg-sea-tint); }

.pr-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 26px;
  border-radius: var(--sg-radius-pill); background: var(--sg-ink); color: var(--sg-white); border: 1px solid var(--sg-ink);
  text-decoration: none; font-family: var(--sg-font-body); font-size: 13px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; cursor: pointer;
}
.pr-btn:hover { background: var(--sg-sea-2); border-color: var(--sg-sea-2); color: var(--sg-white); }
.pr-btn--light { align-self: flex-start; background: var(--sg-white); border-color: var(--sg-white); color: var(--sg-sea); }
.pr-btn--light:hover { background: var(--sg-paper); color: var(--sg-sea-2); }
.pr-btn--outline { background: transparent; color: var(--sg-ink); border-color: #CFC3AF; }
.pr-btn--outline:hover { background: var(--sg-cream); color: var(--sg-ink); border-color: var(--sg-ink); }

.pr-all { padding-bottom: 110px; }
.pr-all__head { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-end; justify-content: space-between; margin-bottom: 36px; }
.pr-all__head .pr-eyebrow { margin-bottom: 10px; }
.pr-all h2 { margin: 0; font-family: var(--sg-font-head); font-weight: 700; font-size: clamp(30px, 3.4vw, 42px); line-height: 1.15; }
.pr-count { font-family: var(--sg-font-body); font-weight: 400; font-size: 20px; color: var(--sg-muted); }
.pr-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.pr-chip {
  min-height: 44px; padding: 0 20px; border-radius: var(--sg-radius-pill); font-family: var(--sg-font-body);
  font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
  background: var(--sg-paper); color: var(--sg-ink); border: 1px solid var(--sg-line);
}
.pr-chip:hover { border-color: var(--sg-ink); }
.pr-chip[aria-pressed="true"] { background: var(--sg-ink); color: var(--sg-white); border-color: var(--sg-ink); }

.pr-wall { display: flex; gap: var(--sg-gap); align-items: flex-start; }
.pr-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: var(--sg-gap); }
.pr-tile { margin: 0; border-radius: var(--sg-radius-tile); overflow: hidden; background: var(--sg-paper); border: 1px solid var(--sg-line); }
.pr-tile[hidden] { display: none; }
.pr-tile__media { position: relative; }
.pr-tile__media img { display: block; width: 100%; height: auto; object-fit: cover; }
.pr-play { position: absolute; inset: 0; margin: auto; width: 68px; height: 68px; border-radius: 50%; background: rgba(251, 248, 242, .95); color: var(--sg-sea); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
.pr-tile__body { padding: 24px 28px 26px; display: flex; flex-direction: column; gap: 10px; }
.pr-tile h3 { margin: 0; font-family: var(--sg-font-head); font-weight: 700; font-size: 22px; line-height: 1.28; color: var(--sg-ink); }
.pr-tile__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 6px; }
.pr-sum {
  min-height: 44px; padding: 0 18px; border-radius: var(--sg-radius-pill); font-family: var(--sg-font-body);
  font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
  background: transparent; border: 1px solid #CFC3AF; color: var(--sg-ink);
}
.pr-sum:hover { border-color: var(--sg-ink); }
.pr-read { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--sg-sea); }
.pr-read:hover { color: var(--sg-sea-2); text-decoration: underline; }
.pr-tile--video { background: var(--sg-sea); border: 0; }
.pr-tile--video .pr-eyebrow, .pr-tile--video h3, .pr-tile--video .pr-read { color: var(--sg-white); }
.pr-tile--video .pr-sum { border-color: rgba(255, 255, 255, .6); color: var(--sg-white); }

.pr-list { display: none; }
.pr-row {
  display: grid; grid-template-columns: 104px 1fr; gap: 16px; align-items: center; width: 100%; padding: 16px 0;
  border: 0; border-top: 1px solid var(--sg-line); background: transparent; text-align: left; cursor: pointer;
  font-family: var(--sg-font-body); color: var(--sg-ink);
}
.pr-row[hidden] { display: none; }
.pr-row__media img { display: block; width: 104px; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.pr-row__text { display: grid; gap: 4px; min-width: 0; }
.pr-row__title { font-family: var(--sg-font-head); font-weight: 700; font-size: 18px; line-height: 1.3; }

.pr-outlets { background: var(--sg-paper); border-top: 1px solid var(--sg-line); border-bottom: 1px solid var(--sg-line); }
.pr-outlets__wrap { max-width: 1040px; margin: 0 auto; padding: 80px var(--sg-gutter); text-align: center; }
.pr-outlets .pr-eyebrow { margin-bottom: 26px; }
.pr-outlets__names { margin: 0; font-family: var(--sg-font-head); font-weight: 500; font-size: 22px; line-height: 2; }
.pr-outlet { white-space: nowrap; }
.pr-dot { color: #C9BBA5; padding: 0 10px; }

.pr-kit { padding-block: 110px; }
.pr-kit__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--sg-gap); }
.pr-kit__info { background: var(--sg-sea); border-radius: var(--sg-radius-tile); padding: 52px 48px; display: flex; flex-direction: column; gap: 16px; justify-content: center; color: var(--sg-sea-tint); }
.pr-kit__info .pr-eyebrow { margin: 0; }
.pr-kit__info h2 { margin: 0; font-family: var(--sg-font-head); font-weight: 700; font-size: clamp(28px, 3vw, 38px); line-height: 1.15; color: var(--sg-white); }
.pr-kit__info p { margin: 0; }
.pr-kit__list { list-style: none; margin: 8px 0 0; padding: 0; color: var(--sg-white); }
.pr-kit__list li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .25); font-weight: 600; }
.pr-kit__list li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .25); }
.pr-kit__tag { font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--sg-sea-tint); }
.pr-kit__contact { font-size: 15px; }
.pr-kit__form { background: var(--sg-paper); border: 1px solid var(--sg-line); border-radius: var(--sg-radius-tile); padding: 40px 40px 42px; }
.pr-kit__form h3 { margin: 0 0 6px; font-family: var(--sg-font-head); font-weight: 700; font-size: 24px; line-height: 1.2; }
.pr-kit__note { margin: 0 0 18px; font-size: 14px; line-height: 1.6; color: var(--sg-muted); }

.pr-dialog { padding: 0; border: 0; background: transparent; width: min(620px, calc(100% - 32px)); max-height: 86vh; }
.pr-dialog::backdrop { background: rgba(43, 40, 36, .55); }
.pr-dialog__panel { position: relative; background: var(--sg-paper); border-radius: var(--sg-radius-tile); box-shadow: 0 24px 60px rgba(0, 0, 0, .25); overflow: auto; max-height: 86vh; }
.pr-dialog__x { position: absolute; top: 14px; right: 14px; z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(251, 248, 242, .95); color: var(--sg-ink); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pr-dialog__media { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.pr-dialog__body { padding: 30px 36px 34px; display: flex; flex-direction: column; gap: 14px; }
.pr-dialog__body h2 { margin: 0; padding-right: 40px; font-family: var(--sg-font-head); font-weight: 700; font-size: 26px; line-height: 1.25; }
.pr-dialog__media:not([hidden]) + .pr-dialog__body h2 { padding-right: 0; }
.pr-sum__text { margin: 0; font-size: 17px; line-height: 1.75; color: #4A443D; }
.pr-sum__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }

@media (max-width: 900px) {
  .pr-wall { display: none; }
  .pr-list { display: grid; }
  .pr-kit__grid { grid-template-columns: 1fr; }
  .pr-feature__media { min-height: 260px; }
  .pr-feature__body { padding: 36px 28px; }
  .pr-kit__info, .pr-kit__form { padding: 36px 26px; }
  .pr-dialog__body { padding: 24px 24px 28px; }
}

main > .block-spaced + .block-flush:not(.block-intro) { margin-top: 0; }
main > .block-flush:not(.block-intro):has(+ .block-spaced) { margin-bottom: 0; }

main > .block-spaced.block-cards:has(> .cards-ground[style*=", 1)"]) + .block-flush:not(.block-intro) { margin-top: 70px; }
main > .block-flush:not(.block-intro):has(+ .block-spaced.block-cards > .cards-ground[style*=", 1)"]) { margin-bottom: 70px; }
@media (max-width: 1199px) {
  main > .block-spaced.block-cards:has(> .cards-ground[style*=", 1)"]) + .block-flush:not(.block-intro) { margin-top: 40px; }
  main > .block-flush:not(.block-intro):has(+ .block-spaced.block-cards > .cards-ground[style*=", 1)"]) { margin-bottom: 40px; }
}

main:has(+ .sg-global) > .block-flush:last-child { margin-bottom: 0; }

.block-iframe .embed-interior > br:last-child { display: none; }

.sg-room__more .sg-global--rooms-cta > .block { padding-block: 24px 46px; }
@media (max-width: 600px) {
  .sg-room__more .sg-global--rooms-cta > .block { padding-block: 0 28px; }
}

.sg-children { padding-top: 110px; }
.sg-children__head { margin-bottom: 36px; }
.sg-children__head h1 { margin: 0; }
.sg-children .sg-tile h2 { margin: 0; }
.sg-children .sg-tile h2 a { color: var(--sg-ink); text-decoration: none; }
.sg-children .sg-tile h2 a:hover, .sg-children .sg-tile h2 a:focus-visible { color: var(--sg-sea); }
.sg-children .sg-tile__media { object-fit: cover; }
@media (max-width: 900px) { .sg-children { padding-top: 72px; } }
