:root {
  --o-ls-label: 0;
  --o-fs-xl: clamp(1.8rem, 3.6vw, 2.75rem);
  --o-lh-base: 1.65;
  --o-c-dark-fg: #f6f4f5;
  --o-c-bg: #f8f2f4;
  --o-sh-card: 0 10px 30px rgba(0,0,0,.06);
  --o-c-dark-surface: #3d242e;
  --o-ff-text: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --o-ls-title: 0;
  --o-fs-base: 1.125rem;
  --o-c-primary-inverse: #a87489;
  --o-c-rule: #e1dbdd;
  --o-fs-lg: 1.35rem;
  --o-sp-stack: 6.8rem;
  --o-c-surface: #ffffff;
  --o-w-main: 1066px;
  --o-c-brand-hover: #5b3343;
  --o-c-brand-contrast: #ffffff;
  --o-fw-button: 700;
  --o-c-primary-tint: #d6c2ca;
  --o-fw-title: 400;
  --o-c-dark-bg: #23151b;
  --o-c-label: #7d4f61;
  --o-fs-2xl: clamp(2.5rem, 6vw, 4.5rem);
  --o-tt-cta: uppercase;
  --o-r-md: 1px;
  --o-r-button: 1px;
  --o-ff-title: 'Playfair Display', 'Palatino Linotype', Palatino, Georgia, serif;
  --o-c-dim: #745863;
  --o-c-highlight: #b455ab;
  --o-ls-btn: .06em;
  --o-lh-title: 1.05;
  --o-c-inverse-muted: #baabb1;
  --o-tt-eyebrow: none;
  --o-c-on-accent: #ffffff;
  --o-c-key: #7d4f61;
  --o-sh-raised: 0 12px 40px rgba(0,0,0,.14);
  --o-r-xl: 2px;
  --o-c-copy: #34282d;
}
*,*::before,*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  font-family: var(--o-ff-text);
  margin: 0;
  background: var(--o-c-bg);
  font-size: var(--o-fs-base);
  overflow-wrap: anywhere;
  line-height: var(--o-lh-base);
  color: var(--o-c-copy);
}
img,svg,video {
  max-width: 100%;
  height: auto;
  display: block;
}
h1,h2,h3,h4 {
  font-family: var(--o-ff-title);
  line-height: var(--o-lh-title);
  font-weight: var(--o-fw-title);
  letter-spacing: var(--o-ls-title);
  color: var(--o-c-copy);
  margin: 0 0 .6em;
  hyphens: manual;
}
h1 {
  font-size: var(--o-fs-2xl);
}
h2 {
  font-size: var(--o-fs-xl);
}
h3 {
  line-height: 1.3;
  font-size: var(--o-fs-lg);
}
h4 {
  line-height: 1.35;
  font-size: 1.05rem;
}
p {
  margin: 0 0 1em;
}
a {
  text-decoration: none;
  color: var(--o-c-key);
}
@media (min-width:481px){
a[href^="tel:"] {
  white-space: nowrap;
}
}
a:hover {
  color: var(--o-c-brand-hover);
}
ul,ol {
  padding-left: 1.25em;
  margin: 0 0 1em;
}
button,input,textarea,select {
  color: inherit;
  font: inherit;
}
::selection {
  background: var(--o-c-primary-tint);
  color: var(--o-c-copy);
}
.o-e469 {
  width: min(100% - 2.5rem,var(--o-w-main));
  margin-inline: auto;
}
.o-menu {
  width: min(100% - 2.5rem,48rem);
}
.o-y5eb {
  padding-block: var(--o-sp-stack);
}
.o-page {
  background: var(--o-c-surface);
}
.o-layer-active {
  color: var(--o-c-dark-fg);
  background: var(--o-c-dark-bg);
}
.o-layer-active h1,.o-layer-active h2,.o-layer-active h3,.o-layer-active h4 {
  color: inherit;
}
.o-layer-active a {
  color: var(--o-c-primary-inverse);
}
.o-layer-active .o-bar-open,.o-layer-active .o-zone-b {
  color: var(--o-c-inverse-muted);
}
.o-layer-active .o-fdcc {
  color: var(--o-c-primary-inverse);
}
.o-area-sticky {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 1.5rem;
  border-radius: var(--o-r-button);
  background: var(--o-c-key);
  color: var(--o-c-brand-contrast);
  font-weight: var(--o-fw-button);
  text-transform: var(--o-tt-cta);
  letter-spacing: var(--o-ls-btn);
  line-height: 1.25;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .2s,color .2s,border-color .2s,transform .2s;
}
.o-area-sticky:hover {
  color: var(--o-c-brand-contrast);
  background: var(--o-c-brand-hover);
}
.o-area-sticky:active {
  transform: translateY(1px);
}
.o-ofbf {
  border-color: currentColor;
  background: transparent;
  color: var(--o-c-key);
}
.o-ofbf:hover {
  color: var(--o-c-brand-contrast);
  border-color: var(--o-c-key);
  background: var(--o-c-key);
}
.o-b3ef {
  background: var(--o-c-highlight);
  color: var(--o-c-on-accent);
}
.o-b3ef:hover {
  filter: brightness(.92);
  background: var(--o-c-highlight);
  color: var(--o-c-on-accent);
}
.o-burger-stack {
  color: var(--o-c-dark-bg);
  background: var(--o-c-dark-fg);
}
.o-burger-stack:hover {
  color: var(--o-c-dark-bg);
  background: #fff;
}
.o-sub {
  padding: .55rem 1.1rem;
  font-size: .9rem;
}
.o-qe77 {
  font-size: 1.05rem;
  padding: 1rem 2rem;
}
.o-layer-active .o-area-sticky:not(.o-ofbf):not(.o-b3ef):not(.o-burger-stack) {
  color: var(--o-c-dark-bg);
  background: var(--o-c-primary-inverse);
}
.o-layer-active .o-area-sticky:not(.o-ofbf):not(.o-b3ef):not(.o-burger-stack):hover {
  background: var(--o-c-dark-fg);
  color: var(--o-c-dark-bg);
}
.o-layer-active .o-ofbf {
  color: var(--o-c-dark-fg);
  border-color: var(--o-c-inverse-muted);
}
.o-layer-active .o-ofbf:hover {
  border-color: var(--o-c-dark-fg);
  background: var(--o-c-dark-fg);
  color: var(--o-c-dark-bg);
}
.o-tag {
  display: grid;
  gap: 1.5rem;
}
.o-ldb5 {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr));
}
.o-e7cd {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr));
}
.o-v2ff {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr));
}
.o-m8d7 {
  grid-template-columns: repeat(2,1fr);
}
.o-ef4e {
  grid-template-columns: repeat(3,1fr);
}
.o-box2 {
  grid-template-columns: repeat(4,1fr);
}
@media (max-width:960px){
.o-box2 {
  grid-template-columns: repeat(2,1fr);
}
.o-ef4e {
  grid-template-columns: repeat(2,1fr);
}
}
@media (max-width:560px){
.o-m8d7,.o-ef4e,.o-box2 {
  grid-template-columns: 1fr;
}
}
.o-wa60 {
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}
.o-wa60>* {
  min-width: 0;
}
.o-wa60.o-m8d7>* {
  flex: 0 0 calc((100% - 1.5rem)/2);
}
.o-wa60.o-ef4e>* {
  flex: 0 0 calc((100% - 3rem)/3);
}
.o-wa60.o-box2>* {
  flex: 0 0 calc((100% - 4.5rem)/4);
}
@media (max-width:960px){
.o-wa60.o-ef4e>*,.o-wa60.o-box2>* {
  flex-basis: calc((100% - 1.5rem)/2);
}
}
@media (max-width:560px){
.o-wa60.o-m8d7>*,.o-wa60.o-ef4e>*,.o-wa60.o-box2>* {
  flex-basis: 100%;
}
}
.o-bar-open {
  font-size: 1.15rem;
  color: var(--o-c-dim);
}
.o-fdcc {
  text-transform: var(--o-tt-eyebrow);
  font-weight: 700;
  font-size: .8rem;
  margin-bottom: .75rem;
  letter-spacing: var(--o-ls-label);
  display: inline-block;
  color: var(--o-c-label);
}
.o-zone-b {
  color: var(--o-c-dim);
}
.o-outro-center {
  text-align: center;
}
.o-m8a5 {
  padding: 0;
  height: 1px;
  width: 1px;
  clip: rect(0 0 0 0);
  overflow: hidden;
  border: 0;
  margin: -1px;
  position: absolute;
}
@media (max-width:640px){
.o-y5eb {
  padding-block: calc(var(--o-sp-stack) * .7);
}
}
.o-tile-alt {
  background: var(--o-c-bg);
  z-index: 20;
  position: relative;
}
.o-bbd2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 5rem;
}
.o-gd9e {
  display: inline-flex;
  min-width: 0;
}
.o-k379 {
  max-height: 2.4rem;
  width: auto;
  height: auto;
}
.o-inner:focus-visible + .o-dot-hard {
  outline: 2px solid var(--o-c-key);
  outline-offset: 4px;
}
.o-dot-hard {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  min-height: 44px;
  padding: .55rem 1.1rem;
  border: 1px solid var(--o-c-rule);
  border-radius: var(--o-r-button);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
}
.o-dot-hard:hover {
  border-color: var(--o-c-key);
  color: var(--o-c-key);
}
.o-rbdf {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.o-o576 {
  background: currentColor;
  border-radius: 2px;
  height: 2px;
  transition: transform .2s;
  width: 22px;
  display: block;
}
.o-inner:checked + .o-dot-hard .o-o576:first-child {
  transform: translateY(3.5px) rotate(45deg);
}
.o-inner:checked + .o-dot-hard .o-o576:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}
.o-ebe6 {
  padding: clamp(2rem,5vw,3.5rem) 0;
  left: 0;
  right: 0;
  top: 100%;
  box-shadow: var(--o-sh-raised);
  display: none;
  position: absolute;
}
.o-el-light .o-ebe6 {
  color: var(--o-c-dark-fg);
  background: var(--o-c-dark-bg);
}
.o-stack-third .o-ebe6 {
  border-block: 1px solid var(--o-c-rule);
  background: var(--o-c-surface);
}
.o-inner:checked ~ .o-ebe6 {
  display: block;
}
.o-body-z {
  display: grid;
  grid-template-columns: minmax(0,2fr) minmax(0,1fr);
  gap: clamp(2rem,5vw,4rem);
}
.o-k064 {
  padding: 0;
  margin: 0;
  list-style: none;
  columns: 2 14rem;
  column-gap: 2.5rem;
}
.o-link {
  break-inside: avoid;
  margin-bottom: .4rem;
}
.o-xe7a {
  font-weight: var(--o-fw-title);
  line-height: 1.3;
  font-size: clamp(1.4rem,2.6vw,2.1rem);
  font-family: var(--o-ff-title);
  color: inherit;
  display: inline-block;
}
.o-xe7a:hover,.o-r7af {
  color: var(--o-c-key);
}
.o-el-light .o-xe7a:hover,.o-el-light .o-r7af {
  color: var(--o-c-primary-inverse);
}
.o-unit {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding-inline-start: clamp(0rem,3vw,2rem);
  border-inline-start: 1px solid var(--o-c-rule);
}
.o-el-light .o-unit {
  border-color: rgba(255,255,255,.18);
}
.o-ct-z {
  margin: 0 0 .4rem;
  color: var(--o-c-dim);
  letter-spacing: .12em;
  font-size: .75rem;
  text-transform: uppercase;
  font-weight: 700;
}
.o-el-light .o-ct-z {
  color: var(--o-c-inverse-muted);
}
.o-cell-top {
  color: inherit;
  font-weight: 600;
}
.o-cell-top:hover {
  color: var(--o-c-key);
}
.o-ucd5 {
  color: var(--o-c-dim);
  font-size: .9rem;
  margin: .4rem 0 0;
}
.o-el-light .o-ucd5 {
  color: var(--o-c-inverse-muted);
}
@media (max-width:720px){
.o-body-z {
  grid-template-columns: minmax(0,1fr);
}
.o-unit {
  padding-top: 1.5rem;
  padding-inline-start: 0;
  border-top: 1px solid var(--o-c-rule);
  border-inline-start: 0;
}
.o-body {
  display: none;
}
}
.o-c3d1 {
  padding-top: clamp(2.5rem,6vw,4rem);
}
.o-title-b {
  background: var(--o-c-dark-bg);
  color: var(--o-c-dark-fg);
}
.o-head {
  border-top: 1px solid var(--o-c-rule);
  background: var(--o-c-surface);
}
.o-edge-z {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  padding-bottom: clamp(2rem,5vw,3rem);
  border-bottom: 1px solid var(--o-c-rule);
}
.o-title-b .o-edge-z {
  border-color: rgba(255,255,255,.14);
}
.o-flow {
  line-height: 1.2;
  max-width: 40rem;
  font-size: clamp(1.5rem,3vw,2.25rem);
  margin: 0;
  font-family: var(--o-ff-title);
  font-weight: var(--o-fw-title);
}
.o-q44e {
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);
  gap: 2rem clamp(2rem,5vw,4rem);
  padding-block: clamp(2rem,5vw,3rem);
}
.o-sa09 {
  display: inline-flex;
  margin-bottom: 1rem;
}
.o-side-sticky {
  max-height: 2.25rem;
  height: auto;
  width: auto;
}
.o-flow-sm {
  max-width: 26rem;
  opacity: .8;
}
.o-strip {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  margin: 0;
}
.o-j1b8 {
  letter-spacing: .12em;
  opacity: .7;
  margin-bottom: 1rem;
  font-size: .78rem;
  text-transform: uppercase;
  color: inherit;
}
.o-cnt-top {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: .55rem;
}
.o-n0c0 {
  color: inherit;
}
.o-n0c0:hover {
  color: var(--o-c-key);
}
.o-title-b .o-n0c0:hover {
  color: var(--o-c-primary-inverse);
}
.o-v939 {
  padding-block: 1.25rem;
  border-top: 1px solid var(--o-c-rule);
  font-size: .85rem;
  opacity: .75;
}
.o-title-b .o-v939 {
  border-color: rgba(255,255,255,.14);
}
@media (max-width:760px){
.o-q44e {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
.o-w538 {
  grid-column: 1/-1;
}
}
@media (max-width:460px){
.o-q44e {
  grid-template-columns: minmax(0,1fr);
}
}
.o-z1e5 {
  right: 0;
  position: fixed;
  left: 0;
  padding: 1rem 0;
  box-shadow: var(--o-sh-card);
  z-index: 50;
}
.o-view-b {
  bottom: 0;
}
.o-w847 {
  background: var(--o-c-dark-bg);
  color: var(--o-c-dark-fg);
}
.o-body-accent {
  color: var(--o-c-copy);
  background: var(--o-c-surface);
  border-top: 1px solid var(--o-c-rule);
}
.o-z1e5[hidden] {
  display: none;
}
.o-n623 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.o-k364 {
  margin: 0;
  font-size: .95rem;
}
.o-frame-wide {
  text-decoration: underline;
  margin-left: .35rem;
  color: inherit;
}
.o-n7f4 {
  gap: .75rem;
  flex-shrink: 0;
  display: flex;
}
.o-w847 .o-a442 {
  border-color: var(--o-c-bg);
}
.o-w847 .o-a442:not(.o-ofbf) {
  color: var(--o-c-dark-bg);
  background: var(--o-c-primary-inverse);
  border-color: transparent;
}
.o-w847 .o-ofbf.o-a442 {
  color: var(--o-c-bg);
}
@media (max-width:720px){
.o-z1e5 {
  padding: .7rem 0;
}
.o-n623 {
  flex-direction: column;
  align-items: stretch;
  gap: .6rem;
}
.o-k364 {
  font-size: .84rem;
  line-height: 1.4;
}
.o-n7f4 {
  justify-content: flex-end;
}
}
.o-d25a {
  padding: 2.25rem;
  background: var(--o-c-surface);
  border: 1px solid var(--o-c-rule);
  border-radius: var(--o-r-xl);
  min-width: 0;
}
.o-k9ef .o-d25a {
  text-align: center;
}
.o-core-fit {
  overflow-wrap: anywhere;
  margin: 0;
}
.o-q636 {
  overflow-wrap: anywhere;
  color: var(--o-c-dim);
  margin: .75rem 0 0;
}
.o-l1c7 {
  color: inherit;
}
.o-copy {
  text-align: start;
  gap: 1rem;
  display: grid;
  margin-top: 1.75rem;
}
.o-base {
  min-width: 0;
  display: grid;
  gap: .35rem;
}
.o-z5b9 {
  font-size: .9rem;
  font-weight: 600;
}
.o-node {
  width: 100%;
  min-width: 0;
  padding: .7rem .9rem;
  border: 1px solid var(--o-c-rule);
  border-radius: var(--o-r-md);
  background: var(--o-c-bg);
}
.o-node:focus {
  outline: 2px solid var(--o-c-key);
  outline-offset: 1px;
}
.o-app-half {
  resize: vertical;
}
.o-ub8c {
  max-width: 100%;
  overflow-wrap: anywhere;
  justify-self: start;
}
.o-k9ef .o-ub8c {
  justify-self: center;
}
@media (max-width:480px){
.o-d25a {
  padding: 1.25rem;
}
}
.o-card-round {
  color: var(--o-c-copy);
  background: var(--o-c-bg);
  overflow-wrap: anywhere;
  padding-block: calc(var(--o-sp-stack) * .85);
}
.o-peee {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.25rem;
  border-top: 1px solid var(--o-c-rule);
  padding-top: 1rem;
}
.o-g5ad .o-peee {
  border-top: 3px solid var(--o-c-key);
}
.o-m57c {
  color: var(--o-c-key);
  margin: 0;
  max-width: 34rem;
}
.o-shape {
  text-align: right;
  font-size: .8rem;
  max-width: 18rem;
  color: var(--o-c-dim);
}
.o-h996 {
  font-size: calc(var(--o-fs-2xl) * 1.18);
  line-height: 1.08;
  max-width: 20ch;
  margin: 1.5rem 0 2rem;
}
.o-lead {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,2.1fr);
  gap: clamp(1.5rem,4vw,4rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--o-c-rule);
}
.o-q16e {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
}
.o-f778 {
  font-size: 1.05rem;
  color: var(--o-c-dim);
  margin: 0;
}
.o-hero {
  text-align: center;
  white-space: normal;
  max-width: 100%;
}
.o-a10d {
  display: inline-flex;
  gap: .75rem;
  align-items: baseline;
  font-weight: 600;
  max-width: 100%;
  text-decoration: underline;
  text-underline-offset: .3em;
}
.o-ctx-auto {
  min-width: 0;
  margin: 0;
}
.o-wf3b {
  border-radius: var(--o-r-md);
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.o-b8ae {
  padding-bottom: .8rem;
  padding-top: .8rem;
  border-bottom: 1px solid var(--o-c-rule);
  color: var(--o-c-dim);
  font-size: .85rem;
}
@media (max-width:700px){
.o-shape {
  display: none;
}
.o-lead {
  grid-template-columns: 1fr;
}
.o-h996 {
  max-width: 24ch;
  font-size: var(--o-fs-2xl);
}
.o-q16e {
  max-width: 40rem;
}
.o-wf3b {
  aspect-ratio: 4/3;
}
}
.o-ka43 {
  max-width: 46rem;
}
.o-el-flat .o-ka43 {
  margin-left: auto;
  margin-right: auto;
}
.o-el-flat .o-ed0a {
  text-align: center;
}
.o-ed0a {
  margin-bottom: 1.5rem;
}
.o-nav {
  margin: 0 0 1.1rem;
  line-height: 1.7;
}
.o-side-raised {
  margin: 1.75rem 0 .75rem;
  font-size: 1.15rem;
}
.o-tf56 {
  gap: .5rem;
  display: grid;
  margin: 0;
  padding-left: 1.25rem;
}
.o-leba::marker {
  color: var(--o-c-key);
}
.o-w04a {
  overflow-wrap: anywhere;
}
.o-box>* {
  min-width: 0;
}
.o-x41e {
  max-width: 24ch;
}