@layer custom {
:root {
  --cnvs-themecolor: #1F6F5C;
  --cnvs-themecolor-rgb: 31,111,92;
  --c-ground: #FBFAF7;
  --c-ground-2: #EEF3F0;
  --c-ink: #1B2B27;
  --c-muted: #4F5F5A;
  --c-accent: var(--cnvs-themecolor);
  --c-deep: #173C34;
  --c-peach: #F2B8A0;
  --c-line: #D5DDD9;
  --space-1: 4px; --space-2: 8px; --space-3: 16px; --space-4: 24px;
  --space-5: 40px; --space-6: 64px; --space-7: 96px; --space-8: 140px;
  --band: 96px; --band-compact: 56px; --gutter: 32px;
  --radius-m: 12px;
  --fs-display: clamp(2.75rem, 6vw, 5rem);
  --fs-h2: clamp(2rem, 4vw, 3rem);
  --fs-h3: 1.5rem;
  --fs-lead: 1.25rem;
  --fs-body: 1.0625rem;
  --fs-small: 0.9375rem;
  --fs-label: 0.875rem;
  --cnvs-body-font: 'Karla', sans-serif;
  --cnvs-primary-font: 'Karla', sans-serif;
  --cnvs-secondary-font: 'Bodoni Moda', serif;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}
body { font-family: var(--cnvs-body-font); font-size: var(--fs-body); line-height: 1.65; color: var(--c-ink); background: var(--c-ground); }
#wrapper { background: var(--c-ground); }
h1, h2, h3 { font-family: var(--cnvs-secondary-font); font-weight: 400; text-wrap: balance; color: inherit; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }
.dark :focus-visible { outline-color: var(--c-peach); }

#header { --cnvs-header-bg: var(--c-ground); --cnvs-header-sticky-bg: var(--c-ground); }
#header .cnvs-menu-link { font-family: var(--cnvs-body-font); font-weight: 700; font-size: var(--fs-label); letter-spacing: .02em; color: var(--c-ink); }
#header .cnvs-menu-link:hover { color: var(--c-accent); }
@media (max-width: 991.98px) {
  #header-wrap { background: var(--c-ground); }
  .bds-header .header-misc { display: none; }
}
@media (min-width: 992px) {
  .bds-header .header-row { justify-content: space-between; }
  .bds-header #logo { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; }
}

.bds-btn { background: var(--c-accent); color: #fff; border-radius: var(--radius-m); padding: 0 var(--space-5); height: 48px; line-height: 48px; font-family: var(--cnvs-body-font); font-weight: 700; font-size: var(--fs-label); letter-spacing: .02em; text-transform: none; transition: background-color 200ms ease, transform 160ms var(--ease-out); }
.bds-btn:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .bds-btn:hover { background: var(--c-deep); color: #fff; } }
.dark .bds-btn { background: var(--c-peach); color: var(--c-deep); }
@media (hover: hover) and (pointer: fine) { .dark .bds-btn:hover { background: #fff; color: var(--c-deep); } }
#header .bds-btn { height: 40px; line-height: 40px; padding: 0 var(--space-4); }

.bds-frame { margin: 0; position: relative; }
.bds-frame img { display: block; width: 100%; height: auto; border-radius: var(--radius-m); border: 3px solid var(--c-ink); border-radius: 14px 10px 13px 9px / 10px 14px 9px 13px; }

.bds-hero { padding: var(--space-6) 0 var(--band); }
.bds-trio { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--gutter); align-items: end; }
.bds-t1 { transform: rotate(-2deg); }
.bds-t3 { transform: rotate(2deg); }
.bds-t2 { margin-bottom: calc(var(--space-4) * -1); position: relative; z-index: 1; }
.bds-hero-copy { text-align: center; max-width: 820px; margin: var(--space-6) auto 0; }
.bds-h1 { font-size: var(--fs-display); line-height: 1.05; margin: 0 0 var(--space-4); }
.bds-loop { position: relative; display: inline-block; padding: 0 var(--space-1); color: var(--c-accent); }
.bds-loop svg { position: absolute; left: -8%; top: -12%; width: 116%; height: 124%; fill: none; stroke: var(--c-accent); stroke-width: 3; stroke-linecap: round; overflow: visible; pointer-events: none; }
.bds-lead { font-size: var(--fs-lead); line-height: 1.5; max-width: 40ch; margin: 0 auto var(--space-5); color: var(--c-muted); }
.bds-chip { font-size: var(--fs-small); color: var(--c-muted); margin: var(--space-3) 0 0; }
.bds-chip i { color: var(--c-accent); margin-right: var(--space-1); }
.bds-hero-copy .bds-btn { display: inline-block; }
@keyframes bds-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.bds-hero-copy > * { animation: bds-up 600ms var(--ease-out) both; }
.bds-hero-copy > :nth-child(2) { animation-delay: 80ms; }
.bds-hero-copy > :nth-child(3) { animation-delay: 160ms; }
.bds-hero-copy > :nth-child(4) { animation-delay: 240ms; }

.bds-band { padding: var(--band) 0; }
.bds-compact { padding: var(--band-compact) 0; }
.bds-soft { background: var(--c-ground-2); }
.bds-deep { background: var(--c-deep); color: #fff; }
.bds-green { background: var(--c-accent); color: #fff; }
.bds-h2 { font-size: var(--fs-h2); line-height: 1.1; margin: 0 0 var(--space-3); }
.bds-sub { font-size: var(--fs-lead); line-height: 1.5; max-width: 55ch; color: var(--c-muted); margin: 0; }
.dark .bds-sub { color: rgba(255,255,255,.85); }

.bds-counters { margin-top: var(--space-5); }
.bds-num { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h2); line-height: 1; color: var(--c-accent); }
.bds-counters p { font-size: var(--fs-small); color: var(--c-muted); margin: var(--space-2) 0 0; }
.bds-counters .col-4 { border-left: 1px solid var(--c-line); padding-left: var(--space-4); }
.bds-counters .col-4:first-child { border-left: 0; padding-left: calc(var(--bs-gutter-x) * .5); }

.bds-tabs { max-width: 760px; }
.bds-tabs .tab-nav { display: flex; gap: var(--space-4); border-bottom: 1px solid var(--c-line); margin: 0 0 var(--space-4); padding: 0; list-style: none; }
.bds-tabs .tab-nav li a { display: block; padding: var(--space-3) 0; font-family: var(--cnvs-body-font); font-weight: 700; font-size: var(--fs-label); color: var(--c-muted); border-bottom: 3px solid transparent; }
.bds-tabs .tab-nav li.ui-state-active a, .bds-tabs .tab-nav li.active a { color: var(--c-accent); border-bottom-color: var(--c-accent); }
.bds-menu { list-style: none; margin: 0; padding: 0; }
.bds-menu li { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--c-line); }
.bds-menu span { font-weight: 700; font-size: var(--fs-body); }
.bds-menu small { display: block; font-weight: 400; font-size: var(--fs-small); color: var(--c-muted); }
.bds-menu b { font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }

.bds-room { position: relative; min-height: 560px; display: flex; align-items: flex-end; overflow: hidden; background: var(--c-deep); }
.bds-room-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bds-room .container { position: relative; padding-top: var(--space-7); padding-bottom: var(--space-5); }
.bds-panel { background: var(--c-deep); border-radius: var(--radius-m); padding: var(--space-5); max-width: 520px; }
.bds-panel p { margin: 0 0 var(--space-3); color: rgba(255,255,255,.9); }
.bds-note { font-size: var(--fs-small); color: var(--c-peach); margin: 0; }

.bds-flips { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--gutter); margin-top: var(--space-5); }
.bds-flip { perspective: 1200px; min-height: 280px; }
.bds-flip-lead { min-height: 340px; }
.bds-flip-in { position: relative; width: 100%; height: 100%; min-height: inherit; transition: transform 500ms var(--ease-out); transform-style: preserve-3d; }
@media (hover: hover) and (pointer: fine) { .bds-flip:hover .bds-flip-in { transform: rotateY(180deg); } }
.bds-flip:focus .bds-flip-in, .bds-flip:focus-within .bds-flip-in { transform: rotateY(180deg); }
.bds-face { position: absolute; inset: 0; backface-visibility: hidden; border-radius: var(--radius-m); padding: var(--space-5); display: flex; flex-direction: column; justify-content: center; }
.bds-front { background: var(--c-ground-2); }
.bds-front h3 { font-size: var(--fs-h3); margin: 0 0 var(--space-2); }
.bds-back { background: var(--c-deep); color: #fff; transform: rotateY(180deg); gap: var(--space-4); align-items: flex-start; }
.bds-back p { margin: 0; }
.bds-price { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h2); line-height: 1; color: var(--c-accent); margin: 0; }
.bds-price small { font-size: var(--fs-lead); color: var(--c-muted); }
.bds-flip-lead .bds-price { font-size: var(--fs-display); }
.bds-flip-lead .bds-front h3 { font-size: var(--fs-h2); }

.bds-steps { list-style: none; margin: var(--space-5) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gutter); position: relative; }
.bds-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 14px; border-top: 3px dashed var(--c-accent); z-index: 0; }
.bds-steps li { position: relative; z-index: 1; }
.bds-steps b { display: inline-block; background: var(--c-ground-2); padding: 0 var(--space-3) 0 0; font-family: var(--cnvs-secondary-font); font-size: var(--fs-h3); line-height: 1.2; color: var(--c-accent); }
.bds-steps span { display: block; margin-top: var(--space-3); font-size: var(--fs-small); color: var(--c-muted); }

.bds-note-dark { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h3); color: var(--c-accent); margin: 0; }
.bds-perks { list-style: none; padding: 0; margin: var(--space-4) 0 var(--space-5); }
.bds-perks li { padding: var(--space-3) 0; border-bottom: 1px solid var(--c-line); }
.bds-perks i { color: var(--c-accent); margin-right: var(--space-2); }

.bds-pills { display: flex; gap: var(--space-3); justify-content: center; flex-wrap: wrap; margin-top: var(--space-5); }
.bds-pills a { border: 2px solid var(--c-peach); color: var(--c-peach); border-radius: 999px; padding: var(--space-2) var(--space-5); font-weight: 700; font-size: var(--fs-label); transition: background-color 200ms ease, color 200ms ease; }
.bds-pills a:hover { background: var(--c-peach); color: var(--c-deep); }
.bds-green .bds-sub { color: #fff; }

.bds-quote { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h2); line-height: 1.3; max-width: 28ch; margin: 0 auto var(--space-4); text-wrap: balance; border: 0; padding: 0; }
.bds-who { font-size: var(--fs-small); color: var(--c-muted); margin: 0; }

.bds-details { list-style: none; margin: var(--space-5) 0 0; padding: 0; }
.bds-details li { padding: var(--space-3) 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.bds-details i { color: var(--c-peach); margin-right: var(--space-2); }
.bds-details a { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h2); color: #fff; }
.bds-deep label { font-weight: 700; font-size: var(--fs-label); color: #fff; margin-bottom: var(--space-2); }
.bds-deep .form-control:where(:not(.form-select)) { height: auto; min-height: 48px; background: #fff; color: var(--c-ink); border: 1px solid var(--c-line); border-radius: var(--radius-m); font-size: var(--fs-body); }
.bds-deep .cnvs-form-group { margin-bottom: var(--space-3); }

#footer.bds-footer { --cnvs-footer-bg: var(--c-deep); }
.bds-footer .footer-widgets-wrap { padding: var(--band-compact) 0; }
.bds-foot-big { font-family: var(--cnvs-secondary-font); font-size: 3rem; line-height: 1.1; margin: var(--space-4) 0 0; color: #fff; }
.bds-foot-links { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-4); }
#footer .footer-widgets-wrap .bds-foot-links a { color: var(--c-peach); font-size: var(--fs-body); }
.bds-foot-links p { flex-basis: 100%; margin: var(--space-3) 0 0; font-size: var(--fs-small); color: rgba(255,255,255,.85); }
#footer #copyrights { background: var(--c-deep); color: rgba(255,255,255,.8); font-size: var(--fs-small); border-top: 1px solid rgba(255,255,255,.2); }
#footer #copyrights a { color: var(--c-peach); }

@media (max-width: 991.98px) {
  .bds-flips { grid-template-columns: 1fr 1fr; }
  .bds-flip-lead { grid-column: 1 / -1; }
  .bds-steps { grid-template-columns: repeat(3, 1fr); }
  .bds-steps::before { display: none; }
  .bds-trio { gap: var(--space-3); }
}
@media (max-width: 575.98px) {
  :root { --band: 56px; --band-compact: 40px; --gutter: 16px; }
  .bds-trio { grid-template-columns: 1fr; }
  .bds-t1, .bds-t3 { display: none; }
  .bds-t2 { margin-bottom: 0; }
  .bds-hero-copy { margin-top: var(--space-5); }
  .bds-flips { grid-template-columns: 1fr; }
  .bds-steps { grid-template-columns: 1fr; padding-left: var(--space-4); border-left: 3px dashed var(--c-accent); }
  .bds-num { font-size: 2.25rem; }
  .bds-quote { font-size: 1.75rem; }
  .bds-foot-big { font-size: 2.25rem; }
  .bds-room { min-height: 480px; }
  .bds-menu li { flex-wrap: wrap; }
}
.bds-panel h2, .bds-panel h3 { color: #fff; }
.text-center .bds-sub { margin-left: auto; margin-right: auto; }
.bds-front { visibility: visible; transition: visibility 0s linear 250ms; }
.bds-back { visibility: hidden; transition: visibility 0s linear 250ms; }
.bds-flip:focus .bds-front, .bds-flip:focus-within .bds-front { visibility: hidden; }
.bds-flip:focus .bds-back, .bds-flip:focus-within .bds-back { visibility: visible; }
@media (hover: hover) and (pointer: fine) {
  .bds-flip:hover .bds-front { visibility: hidden; }
  .bds-flip:hover .bds-back { visibility: visible; }
}
.bds-hero { padding: var(--space-4) 0 var(--band-compact); }
.bds-trio .bds-frame img { height: 300px; object-fit: cover; }
.bds-hero-copy { margin-top: var(--space-5); }
.bds-header .menu-right { margin-left: auto; }
.bds-tabs { max-width: none; }
@media (max-width: 575.98px) { .bds-trio .bds-frame img { height: 280px; } .bds-hero-copy { margin-top: var(--space-4); } }
:root {
  --cnvs-themecolor: #A8482A;
  --cnvs-themecolor-rgb: 168,72,42;
  --c-ground-2: #F3ECE2;
  --c-line: #DDD3C4;
  --c-peach: #F0C9B6;
  --radius-m: 12px;
}
.bds-h1, .bds-h2, .bds-quote, .bds-foot-big { letter-spacing: -0.02em; }
.bds-h1 { font-size: clamp(3rem, 7.5vw, 6.5rem); line-height: .98; color: #fff; }
.bds-loop { color: inherit; font-style: italic; padding: 0; }
.bds-loop svg { display: none; }
.bds-frame img { border: 0; border-radius: var(--radius-m); }
.bds-t1, .bds-t3 { display: none; }
.bds-hero .container { position: relative; }
.bds-trio { display: block; }
.bds-t2 { transform: none; margin: 0; }
.bds-t2 img { height: clamp(520px, 78vh, 700px); object-fit: cover; object-position: center 35%; }
.bds-t2::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius-m); background: linear-gradient(to top, rgba(23,60,52,.82), rgba(23,60,52,.15) 70%); }
.bds-hero-copy { position: absolute; left: var(--space-5); bottom: var(--space-5); right: var(--space-5); text-align: left; margin: 0; max-width: 860px; z-index: 2; }
.bds-lead { color: #fff; margin: 0 0 var(--space-4); max-width: 46ch; }
.bds-chip { color: rgba(255,255,255,.92); }
.bds-chip i { color: var(--c-peach); }
.bds-num, .bds-price, .bds-price small, .bds-steps b, .bds-note-dark, .bds-perks i { color: var(--c-ink); }
.bds-soft, .bds-band.bds-soft { background: var(--c-ground-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.bds-green { background: var(--c-deep); }
.dark .bds-btn { background: var(--cnvs-themecolor); color: #fff; }
@media (hover: hover) and (pointer: fine) { .dark .bds-btn:hover { background: #fff; color: var(--c-deep); } }
.bds-pills a { border-width: 1px; }
.bds-steps::before { border-top: 1px solid var(--c-ink); top: 6px; }
.bds-steps li::before { content: ""; display: block; width: 13px; height: 13px; border-radius: 50%; background: var(--c-ink); margin-bottom: var(--space-3); position: relative; z-index: 2; }
.bds-steps b { background: transparent; padding: 0; color: var(--c-ink); }
.bds-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 575.98px) { .bds-steps { grid-template-columns: 1fr; } }
@media (max-width: 991.98px) { .bds-steps { grid-template-columns: repeat(3, 1fr); } }
.bds-steps li:nth-child(1) b::before { content: "Before you arrive"; }
.bds-steps li:nth-child(2) b::before { content: "First 10 minutes"; }
.bds-steps li:nth-child(3) b::before { content: "60 to 120 minutes"; }
.bds-steps li:nth-child(4) b::before { content: "After"; }
.bds-steps li:nth-child(5) b::before { content: "At the desk"; }
.bds-steps b::before { display: block; font-family: var(--cnvs-body-font); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cnvs-themecolor); margin-bottom: var(--space-1); }
@media (max-width: 991.98px) {
  .bds-hero-copy { position: static; padding: var(--space-4) 0 0; }
  .bds-h1 { color: var(--c-ink); }
  .bds-lead, .bds-chip { color: var(--c-muted); }
  .bds-t2::after { display: none; }
  .bds-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) { .bds-steps { grid-template-columns: 1fr; border-left: 0; padding-left: 0; } .bds-t2 img { height: 360px; } }
@media (prefers-reduced-motion: reduce) {
  .bds-hero-copy > * { animation: none; }
  .bds-flip-in, .bds-btn, .bds-pills a { transition: none; }
}

html body #gift .bds-pills > a { color: #f9dcd0; }

.bds-detail-fig { margin: var(--space-4) 0 0; }
.bds-detail-fig img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border: 3px solid var(--c-ink); border-radius: 14px 10px 13px 9px / 10px 14px 9px 13px; }
.bds-detail-fig figcaption { margin-top: var(--space-2); font-size: var(--fs-small); color: var(--c-muted); }

.bds-foot-phone { display: block; font-family: var(--cnvs-secondary-font); font-size: 2.5rem; line-height: 1.2; margin: var(--space-3) 0 var(--space-4); }
#footer .footer-widgets-wrap a.bds-foot-phone { color: #fff; }
#footer .footer-widgets-wrap a.bds-btn, #footer .footer-widgets-wrap a.bds-btn:focus-visible { color: #fff; display: inline-block; }
#footer .footer-widgets-wrap a.bds-btn:hover { color: var(--c-deep); }
.bds-visit-card { flex-basis: 100%; background: rgba(255,255,255,.08); border-radius: var(--radius-m); padding: var(--space-5); display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.bds-visit-card p { flex-basis: 100%; margin: 0; color: #fff; font-size: var(--fs-body); }
.bds-visit-card .bds-visit-h { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h3); color: var(--c-peach); }

.bds-trio { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--gutter); align-items: end; }
@media (max-width: 575.98px) { .bds-trio { grid-template-columns: 1fr; } }
@media (max-width: 991.98px) { .bds-trio { gap: var(--space-3); } }
.bds-t1, .bds-t3 { display: block; }
@media (max-width: 575.98px) { .bds-t1, .bds-t3 { display: none; } }
.bds-t1 { transform: rotate(-2deg); }
.bds-t3 { transform: rotate(2deg); }
.bds-trio .bds-frame img { height: 300px; object-fit: cover; }
@media (max-width: 575.98px) { .bds-trio .bds-frame img { height: 280px; } }
.bds-trio .bds-t2 img { height: 380px; object-position: center; }
.bds-t2::after { display: none; }
.bds-hero-copy { position: static; text-align: center; margin: var(--space-6) auto 0; max-width: 820px; }
.bds-h1 { color: var(--c-ink); }
.bds-lead { color: var(--c-muted); margin: 0 auto var(--space-5); }
.bds-chip { color: var(--c-muted); }
.bds-chip i { color: var(--c-accent); }
@media (max-width: 575.98px) {
  .bds-trio { grid-template-columns: 1fr; }
  .bds-t1, .bds-t3 { display: none; }
  .bds-trio .bds-t2 img { height: 360px; }
  .bds-hero-copy { margin-top: var(--space-4); }
}

#treatments .row.align-items-start { align-items: stretch !important; }
#treatments .lg\:col-5 { display: flex; }
.bds-detail-fig { margin: var(--space-4) 0 0; display: flex; flex-direction: column; width: 100%; }
.bds-detail-fig img { flex: 1; min-height: 0; aspect-ratio: auto; height: 100%; }

.bds-visit-fig { margin: var(--space-5) 0 0; }
.bds-visit-fig img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--radius-m); }
.bds-visit-fig figcaption { margin-top: var(--space-2); font-size: var(--fs-small); color: var(--c-muted); }

:where(img[width][height]){height:auto}

:is(.content-wrap,.section):has([data-cx]){overflow-x:clip;overflow-y:visible}

.content-wrap {
  padding-top: 0;
  padding-bottom: 0;
}

.section {
  margin-top: 0;
  margin-bottom: 0;
}

#copyrights a:not(.button) { text-decoration: underline !important; text-underline-offset: 0.2em; }
}
