/*
 * Lashley Studio's stylesheet (docs/PORT.md, section 6): the Next.js site's,
 * as its last build made it, printed readably: next/font's faces and
 * classes for its three typefaces, their files at /fonts/site/, then the
 * site's own, which Tailwind made of src/app/(site)/site.css. The pages
 * keep today's classes, so it draws them as it drew today's. The port's
 * own rule is at the end. From now on, this file is the site's
 * stylesheet: change it here.
 */

@font-face {
  font-family: raleway;
  src: url("/static/fonts/site/raleway-v34-latin-700.109736135dc84f02.woff2") format("woff2");
  font-display: swap;
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: raleway;
  src: url("/static/fonts/site/raleway-v34-latin-800.2c2b79651372bed5.woff2") format("woff2");
  font-display: swap;
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: raleway Fallback;
  src: local(Arial);
  ascent-override: 86.25%;
  descent-override: 21.47%;
  line-gap-override: 0.0%;
  size-adjust: 108.99%;
}

.raleway_c3c627e9-module__gCCzSG__className {
  font-family: raleway, raleway Fallback, Avenir Next, Segoe UI, Helvetica Neue, Arial, sans-serif;
}

.raleway_c3c627e9-module__gCCzSG__variable {
  --font-raleway: "raleway", "raleway Fallback", Avenir Next, Segoe UI, Helvetica Neue, Arial, sans-serif;
}

@font-face {
  font-family: openSans;
  src: url("/static/fonts/site/open-sans-v40-latin-regular.e7af9d60d875eb1c.woff2") format("woff2");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: openSans;
  src: url("/static/fonts/site/open-sans-v40-latin-600.7f7fcda5f37c18de.woff2") format("woff2");
  font-display: swap;
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: openSans;
  src: url("/static/fonts/site/open-sans-v40-latin-700.114f872abf6cae70.woff2") format("woff2");
  font-display: swap;
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: openSans Fallback;
  src: local(Arial);
  ascent-override: 101.58%;
  descent-override: 27.84%;
  line-gap-override: 0.0%;
  size-adjust: 105.22%;
}

.opensans_a450bcb8-module__yNdbJq__className {
  font-family: openSans, openSans Fallback, Segoe UI, Helvetica Neue, Arial, sans-serif;
}

.opensans_a450bcb8-module__yNdbJq__variable {
  --font-open-sans: "openSans", "openSans Fallback", Segoe UI, Helvetica Neue, Arial, sans-serif;
}

@font-face {
  font-family: licorice;
  src: url("/static/fonts/site/licorice-v6-latin-regular.1812baafc82f813c.woff2") format("woff2");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: licorice Fallback;
  src: local(Arial);
  ascent-override: 145.68%;
  descent-override: 68.56%;
  line-gap-override: 0.0%;
  size-adjust: 58.35%;
}

.licorice_4e5736f0-module__eRFksq__className {
  font-family: licorice, licorice Fallback, cursive;
}

.licorice_4e5736f0-module__eRFksq__variable {
  --font-licorice: "licorice", "licorice Fallback", cursive;
}

@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-outline-style: solid;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-700: #bf000f;
    --color-stone-50: #fafaf9;
    --color-stone-300: #d6d3d1;
    --color-stone-400: #a6a09b;
    --color-stone-500: #79716b;
    --color-stone-600: #57534d;
    --color-stone-700: #44403b;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-3xl: 48rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --animate-spin: spin 1s linear infinite;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-pink: #e48f99;
    --color-pink-soft: #f3c9cf;
    --color-rose: #b04a5f;
    --color-rose-dark: #9c4558;
    --color-cocoa: #28181a;
    --color-mocha: #452c2f;
    --color-taupe: #684a4e;
    --color-cream: #fcfafa;
    --color-blush: #fbf0f1;
    --color-blush-deep: #f5e2e5;
    --color-line: #eedcdf;
    --font-display: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --font-script: cursive;
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-700: lab(40.4273% 67.2623 53.7441);
      --color-stone-50: lab(98.2686% -.0991821 .364304);
      --color-stone-300: lab(84.7909% .928015 1.59738);
      --color-stone-400: lab(66.2166% 1.88044 3.20326);
      --color-stone-500: lab(48.1164% 2.35701 4.26852);
      --color-stone-600: lab(35.5168% 1.08604 4.07829);
      --color-stone-700: lab(27.3812% 1.32917 3.57789);
    }
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  html {
    -webkit-text-size-adjust: 100%;
    scroll-padding-top: 6.5rem;
  }

  body {
    background: var(--color-cream);
    color: var(--color-mocha);
    font-family: var(--font-sans);
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    font-size: 1rem;
    line-height: 1.7;
  }

  .site {
    --font-sans: var(--font-open-sans), "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --font-display: var(--font-raleway), "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --font-script: var(--font-licorice), cursive;
    font-family: var(--font-sans);
  }

  h1, h2, h3, h4 {
    color: var(--color-cocoa);
    font-family: var(--font-display);
    letter-spacing: -.01em;
    text-wrap: balance;
  }

  p {
    text-wrap: pretty;
  }

  :focus-visible {
    outline: 3px solid var(--color-rose);
    outline-offset: 3px;
  }

  :where(.section--dark, .site-footer, .page-hero, .home-hero, .booking-band, .lightbox) :focus-visible {
    outline-color: var(--color-pink);
  }

  ::selection {
    background: var(--color-pink-soft);
    color: var(--color-cocoa);
  }

  main:focus {
    outline: none;
  }

  html[data-menu-open] {
    overflow: hidden;
  }
}

@layer components {
  .site-container {
    width: 100%;
    max-width: 76rem;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 4vw, 2.5rem);
  }

  .skip-link {
    background: var(--color-cocoa);
    color: #fff;
    z-index: 60;
    border-radius: 0 0 .75rem;
    padding: .75rem 1.25rem;
    font-weight: 600;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-120%);
  }

  .skip-link:focus {
    transform: none;
  }

  .section {
    padding-block: clamp(4rem, 9vw, 7rem);
  }

  .section--blush {
    background: var(--color-blush);
  }

  .section--dark {
    background: radial-gradient(circle at 85% 10%, #e48f9924, transparent 45%), var(--color-cocoa);
    color: #fcfafad1;
  }

  .section--dark h2, .section--dark h3 {
    color: var(--color-cream);
  }

  .script-accent {
    color: var(--color-rose);
    font-family: var(--font-script);
    margin-bottom: .35rem;
    font-size: clamp(2rem, 4vw, 2.6rem);
    line-height: 1;
  }

  .section--dark .script-accent, .section-heading--dark .script-accent {
    color: var(--color-pink);
  }

  .section-heading__label {
    margin-bottom: .75rem;
  }

  .section--dark .section-heading__label, .section-heading--dark .section-heading__label {
    color: var(--color-pink-soft);
  }

  .section-heading {
    max-width: 44rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
  }

  .section-heading--center {
    text-align: center;
    margin-inline: auto;
  }

  .section-heading__title {
    font-size: clamp(2rem, 4.2vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
  }

  .section-heading__intro {
    justify-items: start;
    gap: 1.5rem;
    margin-top: 1.25rem;
    display: grid;
  }

  .section-heading--center .section-heading__intro {
    justify-items: center;
  }

  .label-caps {
    color: var(--color-rose);
    font-family: var(--font-display);
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 800;
  }

  .lead-text {
    font-size: 1.07rem;
  }

  .rich-text {
    gap: 1rem;
    display: grid;
  }

  .text-link {
    color: var(--color-rose);
    text-underline-offset: .2em;
    font-weight: 600;
    text-decoration: underline .08em #b8566a59;
    transition: text-decoration-color .16s;
  }

  .text-link:hover {
    text-decoration-color: currentColor;
  }

  .section--dark .text-link {
    color: var(--color-pink);
  }

  .arrow-link {
    color: var(--color-rose);
    font-family: var(--font-display);
    letter-spacing: .08em;
    text-transform: uppercase;
    align-items: center;
    gap: .4rem;
    font-size: .85rem;
    font-weight: 800;
    display: inline-flex;
  }

  .arrow-link svg {
    transition: transform .18s;
  }

  .arrow-link:hover svg {
    transform: translate(3px);
  }

  .btn {
    font-family: var(--font-display);
    letter-spacing: .01em;
    text-align: center;
    white-space: nowrap;
    border: 1.5px solid #0000;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    gap: .55rem;
    min-height: 2.9rem;
    padding: .7rem 1.45rem;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.2;
    transition: background-color .18s, border-color .18s, color .18s, box-shadow .18s, transform .18s;
    display: inline-flex;
  }

  .btn:hover {
    transform: translateY(-1px);
  }

  .btn:disabled {
    cursor: progress;
    opacity: .7;
    transform: none;
  }

  .btn-lg {
    min-height: 3.3rem;
    padding-inline: 1.8rem;
    font-size: 1.02rem;
  }

  .btn-primary {
    background: var(--color-rose);
    color: #fff;
    box-shadow: 0 10px 24px -14px #9c4558e6;
  }

  .btn-primary:hover {
    background: var(--color-rose-dark);
  }

  .btn-soft {
    border-color: var(--color-line);
    color: var(--color-cocoa);
    background: #fff;
  }

  .btn-soft:hover {
    border-color: var(--color-pink);
    color: var(--color-rose-dark);
  }

  .section--blush .btn-soft {
    border-color: var(--color-blush-deep);
  }

  .btn-glass {
    backdrop-filter: blur(6px);
    color: #fff;
    background: #ffffff24;
    border-color: #ffffff8c;
  }

  .btn-glass:hover, .btn-outline-light:hover {
    background: #ffffff3d;
  }

  .btn-outline-light {
    color: #fff;
    border-color: #fff9;
  }

  .site-header {
    border-bottom: 1px solid var(--color-line);
    z-index: 40;
    position: sticky;
    top: 0;
  }

  .site-header:before {
    backdrop-filter: saturate(1.4) blur(10px);
    content: "";
    z-index: -1;
    background: #fcfafaeb;
    position: absolute;
    inset: 0;
  }

  .site-header__inner {
    align-items: center;
    gap: 1.5rem;
    min-height: 4.75rem;
    display: flex;
  }

  .site-header__logo {
    flex: none;
    margin-right: auto;
  }

  .site-header__logo img {
    width: 7.25rem;
    height: auto;
  }

  .site-nav {
    display: none;
  }

  .site-nav__list {
    align-items: center;
    gap: .25rem;
    display: flex;
  }

  .site-nav__item {
    position: relative;
  }

  .site-nav__link {
    color: var(--color-mocha);
    font-family: var(--font-display);
    letter-spacing: .1em;
    text-transform: uppercase;
    border-radius: 999px;
    align-items: center;
    gap: .2rem;
    padding: .55rem .85rem;
    font-size: .82rem;
    font-weight: 700;
    transition: color .16s, background-color .16s;
    display: inline-flex;
  }

  .site-nav__link:hover, .site-nav__link[data-active] {
    color: var(--color-rose);
  }

  .site-nav__link[data-active] {
    background: var(--color-blush);
  }

  .site-nav__dropdown {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    width: 17rem;
    padding-top: .6rem;
    transition: opacity .16s, transform .16s;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -4px);
  }

  .site-nav__dropdown ul {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1rem;
    padding: .5rem;
    display: grid;
    box-shadow: 0 24px 50px -24px #28181a73;
  }

  .site-nav__item--menu {
    border-radius: 999px;
    align-items: center;
    transition: background-color .16s;
    display: flex;
  }

  .site-nav__item--menu > .site-nav__link {
    padding-right: .15rem;
  }

  .site-nav__item--menu:has( > .site-nav__link[data-active]) {
    background: var(--color-blush);
  }

  .site-nav__toggle {
    color: var(--color-mocha);
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 1.6rem;
    height: 1.9rem;
    margin-right: .3rem;
    transition: color .16s;
    display: inline-flex;
  }

  .site-nav__toggle svg {
    transition: transform .16s;
  }

  .site-nav__toggle:hover, .site-nav__item--menu[data-open] .site-nav__toggle, .site-nav__item--menu:has( > .site-nav__link[data-active]) .site-nav__toggle {
    color: var(--color-rose);
  }

  .site-nav__item--menu[data-open] .site-nav__toggle svg {
    transform: rotate(180deg);
  }

  .site-nav__item--menu:hover .site-nav__dropdown, .site-nav__item--menu[data-open] .site-nav__dropdown {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translate(-50%);
  }

  .site-nav__item--menu[data-dismissed] .site-nav__dropdown {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translate(-50%, -4px);
  }

  .site-nav__dropdown-link {
    color: var(--color-mocha);
    border-radius: .6rem;
    padding: .5rem .8rem;
    font-size: .93rem;
    display: block;
  }

  .site-nav__dropdown-link:hover, .site-nav__dropdown-link[data-active] {
    background: var(--color-blush);
    color: var(--color-rose-dark);
  }

  .site-header__book {
    display: none;
  }

  @media (width >= 64rem) {
    .site-nav {
      display: block;
    }

    .site-header__book {
      display: inline-flex;
    }

    .site-header__inner {
      min-height: 5.25rem;
    }

    .site-header__logo img {
      width: 7.5rem;
    }
  }

  .mobile-menu__toggle {
    color: var(--color-cocoa);
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 2.9rem;
    height: 2.9rem;
    display: inline-flex;
  }

  .mobile-menu__toggle:hover {
    background: var(--color-blush);
  }

  .mobile-menu__panel {
    background: var(--color-cream);
    border-top: 1px solid var(--color-line);
    padding: 1.5rem clamp(1.25rem, 4vw, 2.5rem) calc(6rem + env(safe-area-inset-bottom));
    flex-direction: column;
    gap: 1.5rem;
    display: flex;
    position: fixed;
    inset: 4.75rem 0 0;
    overflow-y: auto;
  }

  .mobile-menu__panel[hidden] {
    display: none;
  }

  .mobile-menu__links {
    gap: .25rem;
    display: grid;
  }

  .mobile-menu__link {
    border-bottom: 1px solid var(--color-line);
    color: var(--color-cocoa);
    font-family: var(--font-display);
    padding: .8rem 0;
    font-size: 1.35rem;
    font-weight: 700;
    display: block;
  }

  .mobile-menu__link[data-active], .mobile-menu__service[data-active] {
    color: var(--color-rose);
  }

  .mobile-menu__services {
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    gap: .1rem 1rem;
    padding: .75rem 0 .5rem;
    display: grid;
  }

  .mobile-menu__service {
    color: var(--color-mocha);
    padding: .35rem 0;
    display: block;
  }

  .mobile-menu__book {
    align-self: flex-start;
  }

  @media (width >= 64rem) {
    .mobile-menu {
      display: none;
    }
  }

  .phone-bar {
    border-top: 1px solid var(--color-line);
    padding: .5rem .75rem calc(.5rem + env(safe-area-inset-bottom));
    z-index: 45;
    background: #fcfafaf7;
    align-items: stretch;
    gap: .25rem;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    box-shadow: 0 -10px 30px -20px #28181a80;
  }

  .phone-bar__book {
    background: var(--color-rose);
    color: #fff;
    font-family: var(--font-display);
    border-radius: 999px;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: .45rem;
    min-height: 3rem;
    font-weight: 700;
    display: inline-flex;
  }

  .phone-bar__link {
    color: var(--color-mocha);
    border-radius: .75rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .1rem;
    min-width: 3.6rem;
    font-size: .72rem;
    font-weight: 600;
    display: inline-flex;
  }

  .phone-bar__link:hover {
    background: var(--color-blush);
  }

  .site-footer {
    padding-bottom: calc(4.25rem + env(safe-area-inset-bottom));
  }

  @media (width >= 64rem) {
    .phone-bar {
      display: none;
    }

    .site-footer {
      padding-bottom: 0;
    }
  }

  .home-hero, .page-hero {
    color: #fff;
    isolation: isolate;
    display: grid;
    position: relative;
    overflow: hidden;
  }

  .home-hero {
    align-items: center;
    min-height: min(88vh, 50rem);
  }

  .page-hero {
    align-items: end;
    min-height: clamp(19rem, 46vh, 27rem);
  }

  .home-hero__image, .page-hero__image, .quote-band__image, .booking-band__image {
    object-fit: cover;
    z-index: -2;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
  }

  .home-hero__shade {
    z-index: -1;
    background: linear-gradient(#28181a6b 0%, #28181a99 55%, #28181ad1 100%), radial-gradient(at 50% 40%, #28181a2e, #28181a73);
    position: absolute;
    inset: 0;
  }

  .page-hero__shade {
    z-index: -1;
    background: linear-gradient(#28181a80 0%, #28181aad 38%, #28181ae0 100%);
    position: absolute;
    inset: 0;
  }

  .home-hero__content {
    text-align: center;
    padding-block: 7rem 9rem;
  }

  .home-hero__eyebrow, .page-hero__eyebrow {
    color: #fff;
    text-shadow: 0 1px 12px #28181a99;
    font-family: var(--font-display);
    letter-spacing: .22em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    font-size: .8rem;
    font-weight: 800;
  }

  .home-hero__heading {
    color: #fff;
    text-shadow: 0 4px 30px #28181a59;
    max-width: 19ch;
    margin-inline: auto;
    font-size: clamp(2.5rem, 6.2vw, 4.4rem);
    font-weight: 800;
    line-height: 1.04;
  }

  .home-hero__script, .page-hero__script {
    color: var(--color-pink-soft);
    font-family: var(--font-script);
    margin-top: .8rem;
    font-size: clamp(2.1rem, 4.6vw, 3.1rem);
    line-height: 1.1;
  }

  .home-hero__actions {
    flex-wrap: wrap;
    justify-content: center;
    gap: .85rem;
    margin-top: 2.25rem;
    display: flex;
  }

  .home-hero__rating {
    color: #ffffffe0;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .6rem;
    margin-top: 1.75rem;
    font-size: .92rem;
    font-weight: 600;
    display: flex;
  }

  .home-hero__rating .stars {
    color: #f7c66b;
  }

  .page-hero__content {
    padding-block: 6rem 3.25rem;
  }

  .page-hero__heading {
    color: #fff;
    max-width: 22ch;
    font-size: clamp(2.3rem, 5.5vw, 3.9rem);
    font-weight: 800;
    line-height: 1.05;
  }

  .page-hero__actions {
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.75rem;
    display: flex;
  }

  .home-highlights {
    z-index: 2;
    margin-top: -4.5rem;
    position: relative;
  }

  .home-highlights__list {
    gap: 1rem;
    display: grid;
  }

  .highlight-card {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.6rem 1.6rem 1.5rem;
    box-shadow: 0 24px 48px -32px #28181a73;
  }

  .highlight-card__icon {
    background: var(--color-blush);
    color: var(--color-rose);
    border-radius: 999px;
    width: 2.9rem;
    height: 2.9rem;
    margin-bottom: .9rem;
    padding: .6rem;
  }

  .highlight-card__heading {
    margin-bottom: .35rem;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.15;
  }

  .highlight-card__body {
    font-size: .95rem;
  }

  @media (width <= 47.99rem) {
    .highlight-card {
      grid-template-columns: auto 1fr;
      column-gap: 1rem;
      padding: 1.15rem 1.25rem;
      display: grid;
    }

    .highlight-card__icon {
      grid-row: span 2;
      margin-bottom: 0;
    }

    .highlight-card__heading {
      font-size: 1.2rem;
    }
  }

  @media (width >= 48rem) {
    .home-highlights__list {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .split {
    align-items: center;
    gap: clamp(2.5rem, 6vw, 5rem);
    display: grid;
  }

  .split__text {
    justify-items: start;
    gap: 1.5rem;
    display: grid;
  }

  .split__text .section-heading {
    margin-bottom: 0;
  }

  @media (width >= 64rem) {
    .split {
      grid-template-columns: 1fr 1fr;
    }

    .split--media-end > :first-child {
      order: 0;
    }
  }

  .framed-photo {
    position: relative;
  }

  .framed-photo:before {
    background: var(--color-blush-deep);
    content: "";
    z-index: -1;
    border-radius: 1.75rem;
    position: absolute;
    inset: 1.25rem -1.25rem -1.25rem 1.25rem;
  }

  .framed-photo__image {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 1.5rem;
    width: 100%;
    box-shadow: 0 30px 60px -36px #28181a99;
  }

  .framed-photo--tall .framed-photo__image {
    aspect-ratio: 4 / 5;
    max-height: 40rem;
  }

  .section {
    isolation: isolate;
  }

  .why-grid {
    gap: 1.5rem;
    display: grid;
  }

  .why-card {
    background: #fff;
    border-radius: 1.4rem;
    flex-direction: column;
    display: flex;
    overflow: hidden;
    box-shadow: 0 24px 48px -36px #28181a80;
  }

  .why-card__photo {
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }

  .why-card__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .6s;
  }

  .why-card:hover .why-card__image {
    transform: scale(1.04);
  }

  .why-card__body {
    flex: 1;
    grid-template-rows: auto 1fr auto;
    gap: .75rem;
    padding: 1.5rem 1.6rem 1.7rem;
    display: grid;
  }

  .why-card__heading {
    font-size: 1.25rem;
    font-weight: 800;
  }

  @media (width >= 48rem) {
    .why-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .home-location__layout {
    align-items: center;
    gap: 1.5rem;
    display: grid;
  }

  .home-location__image {
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: 1.5rem;
    width: 100%;
  }

  .home-location__card {
    background: var(--color-cream);
    color: var(--color-mocha);
    border-radius: 1.5rem;
    justify-items: start;
    gap: 1rem;
    padding: clamp(1.6rem, 4vw, 2.5rem);
    display: grid;
    box-shadow: 0 30px 60px -30px #0009;
  }

  .home-location__subheading {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--color-cocoa) !important;
  }

  .home-location__address {
    border-top: 1px solid var(--color-line);
    color: var(--color-taupe);
    width: 100%;
    padding-top: 1rem;
    font-size: .92rem;
    font-weight: 600;
  }

  @media (width >= 64rem) {
    .home-location__layout {
      grid-template-columns: 1.35fr 1fr;
    }

    .home-location__card {
      margin-left: -6rem;
      position: relative;
    }
  }

  .home-reviews__top {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: 1.5rem 3rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
    display: flex;
  }

  .home-reviews__top .section-heading {
    margin-bottom: 0;
  }

  .home-reviews__actions {
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
    margin-top: 2.25rem;
    display: flex;
  }

  .rating-summary {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1.25rem;
    align-items: center;
    gap: 1rem;
    padding: .9rem 1.4rem;
    display: flex;
  }

  .rating-summary__score {
    color: var(--color-cocoa);
    font-family: var(--font-display);
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1;
  }

  .rating-summary .stars {
    color: #e0a63c;
  }

  .rating-summary__label {
    margin-top: .15rem;
    font-size: .88rem;
    font-weight: 600;
  }

  .home-instagram__follow {
    justify-content: center;
    margin-top: 2.25rem;
    display: flex;
  }

  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    display: grid;
  }

  @media (width >= 40rem) {
    .service-grid {
      grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
      gap: 1.25rem;
    }
  }

  .service-card {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1.4rem;
    flex-direction: column;
    height: 100%;
    transition: box-shadow .22s, transform .22s, border-color .22s;
    display: flex;
    overflow: hidden;
  }

  .service-card:hover {
    border-color: var(--color-pink-soft);
    transform: translateY(-3px);
    box-shadow: 0 28px 50px -34px #28181a8c;
  }

  .service-card__photo {
    aspect-ratio: 3 / 2;
    background: var(--color-blush);
    display: block;
    overflow: hidden;
  }

  .service-card__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .6s;
  }

  .service-card:hover .service-card__image {
    transform: scale(1.05);
  }

  .service-card__body {
    text-align: center;
    flex: 1;
    align-content: start;
    gap: .2rem;
    padding: .8rem .65rem .95rem;
    display: grid;
  }

  .service-card__name {
    color: var(--color-cocoa);
    font-family: var(--font-display);
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.25;
  }

  .service-card__tagline {
    color: var(--color-rose);
    font-family: var(--font-script);
    font-size: 1.3rem;
    line-height: 1.15;
  }

  @media (width >= 40rem) {
    .service-card__body {
      padding: 1.2rem 1.35rem 1.35rem;
    }

    .service-card__name {
      font-size: 1.15rem;
    }

    .service-card__tagline {
      font-size: 1.65rem;
    }
  }

  .service-card__more {
    color: var(--color-taupe);
    letter-spacing: .08em;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    gap: .3rem;
    margin-top: .5rem;
    font-size: .8rem;
    font-weight: 700;
    display: none;
  }

  @media (width >= 40rem) {
    .service-card__more {
      display: inline-flex;
    }
  }

  .review-card {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1.25rem;
    flex-direction: column;
    gap: .8rem;
    height: 100%;
    padding: 1.4rem 1.4rem 1.5rem;
    display: flex;
  }

  .review-card__header {
    align-items: center;
    gap: .8rem;
    display: flex;
  }

  .review-card__avatar {
    object-fit: cover;
    border-radius: 999px;
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
  }

  .review-card__avatar--initial {
    background: var(--color-blush-deep);
    color: var(--color-rose-dark);
    font-family: var(--font-display);
    justify-content: center;
    align-items: center;
    font-weight: 800;
    display: inline-flex;
  }

  .review-card__who {
    flex: 1;
    min-width: 0;
  }

  .review-card__author {
    overflow-wrap: break-word;
    font-size: 1rem;
    font-weight: 800;
  }

  .review-card__date {
    color: var(--color-taupe);
    font-size: .82rem;
  }

  .review-card__source {
    color: var(--color-taupe);
  }

  .review-card .stars {
    color: #e0a63c;
  }

  .review-card__body {
    font-size: .95rem;
  }

  .expandable-text {
    -webkit-line-clamp: var(--lines, 6);
    white-space: pre-line;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .expandable-text[data-open] {
    -webkit-line-clamp: unset;
    display: block;
  }

  .expandable-text__toggle {
    color: var(--color-rose);
    margin-top: .4rem;
    font-size: .88rem;
    font-weight: 700;
  }

  .stars {
    align-items: center;
    gap: .1rem;
    display: inline-flex;
  }

  .stars__star {
    display: inline-block;
    position: relative;
  }

  .stars__star svg {
    fill: currentColor;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
  }

  .stars__empty {
    opacity: .28;
  }

  .instagram-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
    display: grid;
  }

  @media (width >= 40rem) {
    .instagram-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .instagram-grid__link {
    aspect-ratio: 1;
    border-radius: 1rem;
    display: block;
    position: relative;
    overflow: hidden;
  }

  .instagram-grid__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .5s, filter .5s;
  }

  .instagram-grid__link:hover .instagram-grid__image {
    filter: saturate(1.1);
    transform: scale(1.05);
  }

  .instagram-grid__badge {
    color: #fff;
    background: #28181a99;
    border-radius: 999px;
    padding: .4rem;
    position: absolute;
    top: .6rem;
    right: .6rem;
  }

  .carousel {
    position: relative;
  }

  .carousel__track {
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    grid-auto-columns: minmax(16.5rem, 82%);
    grid-auto-flow: column;
    gap: 1.25rem;
    padding-bottom: .75rem;
    display: grid;
    position: relative;
    overflow-x: auto;
  }

  @media (width >= 40rem) {
    .carousel__track {
      grid-auto-columns: calc(50% - .625rem);
    }
  }

  @media (width >= 64rem) {
    .carousel__track {
      grid-auto-columns: calc(33.3333% - .833333rem);
    }
  }

  .carousel__slide {
    scroll-snap-align: start;
  }

  .carousel__controls {
    justify-content: flex-end;
    gap: .5rem;
    margin-top: 1rem;
    display: flex;
  }

  .carousel__button {
    border: 1px solid var(--color-line);
    color: var(--color-cocoa);
    background: #fff;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 2.75rem;
    height: 2.75rem;
    transition: background-color .16s, opacity .16s;
    display: inline-flex;
  }

  .carousel__button:hover:not([aria-disabled="true"]) {
    background: var(--color-blush);
  }

  .carousel__button[aria-disabled="true"] {
    cursor: default;
    opacity: .4;
  }

  .carousel__track :focus-visible {
    outline-offset: -3px;
  }

  .carousel--dark .carousel__button {
    color: #fff;
    background: #ffffff14;
    border-color: #ffffff40;
  }

  .carousel--dark .carousel__button:hover:not([aria-disabled="true"]) {
    background: #ffffff2e;
  }

  .photo-gallery__tile {
    cursor: zoom-in;
    border-radius: 1rem;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    overflow: hidden;
  }

  .photo-gallery__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .5s;
  }

  .photo-gallery__tile:hover .photo-gallery__image {
    transform: scale(1.04);
  }

  .photo-gallery__zoom {
    color: var(--color-cocoa);
    opacity: 0;
    background: #fcfafae6;
    border-radius: 999px;
    padding: .45rem;
    transition: opacity .2s;
    position: absolute;
    bottom: .75rem;
    right: .75rem;
  }

  .photo-gallery__tile:hover .photo-gallery__zoom, .photo-gallery__tile:focus-visible .photo-gallery__zoom {
    opacity: 1;
  }

  .photo-gallery--carousel .photo-gallery__tile {
    aspect-ratio: 1;
  }

  .photo-gallery__mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    display: grid;
  }

  @media (width >= 48rem) {
    .photo-gallery__mosaic {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .photo-gallery__mosaic .photo-gallery__tile {
    aspect-ratio: 1;
  }

  .lightbox {
    background: none;
    border: 0;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    padding: 0;
  }

  .lightbox[open] {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .lightbox::backdrop {
    backdrop-filter: blur(4px);
    background: #1c1012e6;
  }

  .lightbox__figure {
    justify-items: center;
    gap: .75rem;
    max-width: min(92vw, 70rem);
    display: grid;
  }

  .lightbox__image {
    object-fit: contain;
    border-radius: .75rem;
    width: auto;
    max-height: calc(100dvh - 8rem);
  }

  .lightbox__caption {
    color: #ffffffd9;
    text-align: center;
    justify-content: center;
    gap: 1rem;
    font-size: .9rem;
    display: flex;
  }

  .lightbox__count {
    color: #fff9;
    white-space: nowrap;
  }

  .lightbox__close, .lightbox__step {
    color: #fff;
    background: #ffffff1f;
    border: 1px solid #ffffff4d;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    position: fixed;
  }

  .lightbox__close:hover, .lightbox__step:hover {
    background: #ffffff3d;
  }

  .lightbox__close {
    top: 1rem;
    right: 1rem;
  }

  .lightbox__step {
    top: 50%;
    transform: translateY(-50%);
  }

  .lightbox__step--back {
    left: 1rem;
  }

  .lightbox__step--on {
    right: 1rem;
  }

  .intro-columns {
    gap: 1rem 4rem;
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
    display: grid;
  }

  .intro-columns .section-heading {
    margin-bottom: 0;
  }

  @media (width >= 64rem) {
    .intro-columns {
      grid-template-columns: 1fr 1.1fr;
      align-items: end;
    }
  }

  .wide-photo__image {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 1.75rem;
    width: 100%;
  }

  .about-history__layout {
    align-items: start;
    gap: clamp(2.5rem, 6vw, 4.5rem);
    display: grid;
  }

  .about-history__image {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: top;
    border-radius: 1.75rem;
    width: 100%;
    box-shadow: 0 30px 70px -30px #000000b3;
  }

  .about-history__story {
    justify-items: start;
    gap: 1.5rem;
    display: grid;
  }

  .about-history__story .section-heading {
    margin-bottom: 0;
  }

  @media (width >= 64rem) {
    .about-history__layout {
      grid-template-columns: .85fr 1.15fr;
    }

    .about-history__image {
      position: sticky;
      top: 7rem;
    }
  }

  .milestones {
    border-top: 1px solid #ffffff24;
    gap: 1rem;
    width: 100%;
    padding-top: 1.5rem;
    display: grid;
  }

  @media (width >= 40rem) {
    .milestones {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .milestones__item {
    align-content: start;
    gap: .4rem;
    display: grid;
  }

  .milestones__year {
    color: var(--color-pink);
    font-family: var(--font-script);
    font-size: 2.2rem;
    line-height: 1;
  }

  .milestones__text {
    color: #fcfafad9;
    font-size: .92rem;
    line-height: 1.5;
  }

  .brand-grid {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    display: flex;
  }

  .brand-grid__item {
    flex: 0 calc(50% - .5rem);
  }

  @media (width >= 40rem) {
    .brand-grid__item {
      flex-basis: calc(25% - .75rem);
    }
  }

  @media (width >= 64rem) {
    .brand-grid__item {
      flex-basis: calc(14.2857% - .857143rem);
    }
  }

  .brand-grid__link {
    border: 1px solid var(--color-blush-deep);
    background: #fff;
    border-radius: 1.1rem;
    justify-content: center;
    align-items: center;
    height: 7rem;
    padding: 1.1rem 1.25rem;
    transition: border-color .18s, box-shadow .18s;
    display: flex;
  }

  a.brand-grid__link:hover {
    border-color: var(--color-pink-soft);
    box-shadow: 0 18px 36px -26px #28181a73;
  }

  .brand-grid__logo {
    object-fit: contain;
    width: auto;
    max-height: 100%;
  }

  .brand-grid__name {
    color: var(--color-cocoa);
    font-family: var(--font-display);
    text-align: center;
    font-weight: 800;
  }

  .prices__header {
    gap: .6rem;
    max-width: 46rem;
    margin-bottom: 2.5rem;
    display: grid;
  }

  .prices__intro {
    margin-top: .4rem;
  }

  .price-groups {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
    gap: 1.25rem;
    display: grid;
  }

  .price-group {
    border: 1px solid var(--color-blush-deep);
    background: #fff;
    border-radius: 1.25rem;
    flex-direction: column;
    gap: .9rem;
    min-width: 0;
    padding: 1.5rem 1.5rem 1.4rem;
    display: flex;
  }

  .price-group__name {
    border-bottom: 2px solid var(--color-pink-soft);
    padding-bottom: .6rem;
    font-size: 1.25rem;
    font-weight: 800;
  }

  .price-group__lines {
    gap: .55rem;
    display: grid;
  }

  .price-line {
    flex-wrap: wrap;
    align-items: baseline;
    gap: .15rem .5rem;
    font-size: .95rem;
    display: flex;
  }

  .price-line__name {
    color: var(--color-mocha);
    overflow-wrap: anywhere;
    min-width: 0;
  }

  .price-line:after {
    content: "";
    border-bottom: 1px dotted #684a4e73;
    flex: 1 0 1.5rem;
    order: 1;
    transform: translateY(-.25em);
  }

  .price-line__price {
    color: var(--color-cocoa);
    text-align: right;
    order: 2;
    justify-items: end;
    max-width: 100%;
    margin-left: auto;
    font-weight: 700;
    display: grid;
  }

  .price-line__option {
    overflow-wrap: anywhere;
  }

  .price-group__note {
    color: var(--color-taupe);
    margin-top: auto;
    font-size: .85rem;
    font-style: italic;
  }

  .prices__book {
    justify-content: center;
    margin-top: 2.5rem;
    display: flex;
  }

  .faq-layout {
    gap: 1rem 4rem;
    display: grid;
  }

  @media (width >= 64rem) {
    .faq-layout {
      grid-template-columns: .8fr 1.4fr;
      align-items: start;
    }

    .faq-layout__heading {
      position: sticky;
      top: 7rem;
    }
  }

  .faq-list {
    gap: .75rem;
    display: grid;
  }

  .faq-list__item {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1rem;
    transition: border-color .18s;
  }

  .faq-list__item[open] {
    border-color: var(--color-pink-soft);
  }

  .faq-list__question {
    color: var(--color-cocoa);
    cursor: pointer;
    font-family: var(--font-display);
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    font-size: 1.02rem;
    font-weight: 700;
    list-style: none;
    display: flex;
  }

  .faq-list__question::-webkit-details-marker {
    display: none;
  }

  .faq-list__icon {
    color: var(--color-rose);
    flex: none;
    transition: transform .2s;
  }

  .faq-list__item[open] .faq-list__icon {
    transform: rotate(45deg);
  }

  .faq-list__answer {
    padding: 0 1.25rem 1.25rem;
  }

  .care-cards {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
    display: flex;
  }

  .care-card {
    flex: 0 100%;
  }

  @media (width >= 40rem) {
    .care-card {
      flex-basis: calc(50% - .625rem);
    }
  }

  @media (width >= 64rem) {
    .care-card {
      flex-basis: calc(33.3333% - .833333rem);
    }
  }

  .care-card__link, .care-card__plain {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1.25rem;
    flex-direction: column;
    height: 100%;
    display: flex;
    overflow: hidden;
  }

  .section--blush .care-card__link, .section--blush .care-card__plain {
    border-color: var(--color-blush-deep);
  }

  .care-card__link {
    transition: box-shadow .2s, transform .2s;
  }

  .care-card__link:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 46px -32px #28181a8c;
  }

  .care-card__photo {
    aspect-ratio: 1;
    background: var(--color-blush);
    display: block;
    overflow: hidden;
  }

  .care-card__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .care-card__body {
    flex: 1;
    grid-template-rows: 1fr auto;
    gap: .5rem;
    padding: 1.1rem 1.25rem 1.25rem;
    display: grid;
  }

  .care-card__title {
    color: var(--color-cocoa);
    font-family: var(--font-display);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.3;
  }

  .care-card__open, .care-card__soon {
    letter-spacing: .06em;
    text-transform: uppercase;
    align-items: center;
    gap: .35rem;
    font-size: .82rem;
    font-weight: 700;
    display: inline-flex;
  }

  .care-card__open {
    color: var(--color-rose);
  }

  .care-card__soon {
    color: var(--color-taupe);
  }

  .care-cards__note {
    color: var(--color-taupe);
    text-align: center;
    max-width: 40rem;
    margin: 2rem auto 0;
  }

  .care-sheet {
    color: var(--color-cocoa);
    text-align: center;
    background: #fff;
    border-radius: 1.5rem;
    justify-items: center;
    gap: clamp(1.75rem, 5vw, 2.5rem);
    padding: clamp(2.25rem, 6vw, 3.25rem) clamp(1.25rem, 5vw, 3rem) clamp(1.75rem, 4vw, 2.25rem);
    display: grid;
    container-type: inline-size;
  }

  .care-sheet--picture {
    padding: 0;
    overflow: hidden;
  }

  .care-sheet__header {
    justify-items: center;
    gap: .6rem;
    display: grid;
  }

  .care-sheet__title {
    color: var(--color-cocoa);
    font-family: var(--font-script);
    letter-spacing: 0;
    font-size: clamp(2.75rem, 10vw, 4rem);
    font-weight: 400;
    line-height: 1;
  }

  .care-sheet__label {
    color: var(--color-mocha);
    letter-spacing: .24em;
    text-transform: uppercase;
    font-size: clamp(.82rem, 2.6vw, .98rem);
    line-height: 1.5;
  }

  .care-sheet__steps {
    justify-self: stretch;
    gap: 1.4rem;
    display: grid;
  }

  .care-sheet__step {
    text-align: start;
    grid-template-columns: 4rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    display: grid;
  }

  .care-sheet__picture {
    width: 4rem;
    height: 4rem;
  }

  .care-sheet__text {
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.5;
  }

  @container (width >= 25rem) {
    .care-sheet__steps {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 2.25rem 1.75rem;
    }

    .care-sheet__step {
      text-align: center;
      grid-template-columns: none;
      align-content: start;
      justify-items: center;
      gap: .9rem;
    }

    .care-sheet__picture {
      width: 6rem;
      height: 6rem;
    }

    .care-sheet__step:last-child:nth-child(odd) {
      grid-column: 1 / -1;
      justify-self: center;
      width: calc(50% - .875rem);
    }
  }

  @container (width >= 36rem) {
    .care-sheet__steps--three {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .care-sheet__steps--three .care-sheet__step, .care-sheet__steps--three .care-sheet__step:last-child:nth-child(odd) {
      grid-column: span 2;
      justify-self: stretch;
      width: auto;
    }

    .care-sheet__steps--three .care-sheet__step:nth-child(3n+1):last-child {
      grid-column: 3 / span 2;
    }

    .care-sheet__steps--three .care-sheet__step:nth-child(3n+1):nth-last-child(2) {
      grid-column: 2 / span 2;
    }
  }

  .care-sheet__logo {
    width: 6.5rem;
    height: auto;
  }

  .care-sheet__card {
    width: 100%;
  }

  .care-sheet__missing {
    background: var(--color-blush);
    border-radius: .75rem;
    padding: 1rem 1.1rem;
  }

  .care-page {
    justify-items: center;
    gap: 2rem;
    max-width: 42rem;
    display: grid;
  }

  .care-page--wide {
    max-width: 54rem;
  }

  .care-page .care-sheet {
    border: 1px solid var(--color-blush-deep);
    justify-self: stretch;
    box-shadow: 0 30px 60px -45px #28181a73;
  }

  .route-modal {
    --route-modal-gap: clamp(.75rem, 5vh, 3.5rem);
    color: inherit;
    overscroll-behavior: contain;
    max-width: none;
    height: auto;
    max-height: none;
    padding: var(--route-modal-gap) clamp(.75rem, 3vw, 2rem);
    background: none;
    border: 0;
    width: auto;
    margin: 0;
    inset: 0;
    overflow-y: auto;
  }

  .route-modal[open] {
    flex-direction: column;
    display: flex;
  }

  .route-modal::backdrop {
    backdrop-filter: blur(3px);
    background: #1c1012cc;
  }

  .route-modal[open]::backdrop {
    animation: .2s ease-out route-modal-fade;
  }

  .route-modal__panel {
    --route-modal-padding: clamp(1.5rem, 4vw, 2.5rem);
    background: var(--color-cream);
    max-width: 38rem;
    padding: var(--route-modal-padding);
    border-radius: 1.5rem;
    width: 100%;
    margin: auto;
    box-shadow: 0 40px 80px -40px #000000b3;
  }

  .route-modal[open] .route-modal__panel {
    animation: .26s ease-out route-modal-rise;
  }

  .route-modal--wide .route-modal__panel {
    max-width: 60rem;
  }

  .route-modal--sheet .route-modal__panel {
    --route-modal-padding: 0px;
    background: #fff;
  }

  .route-modal--sheet-wide .route-modal__panel {
    max-width: 52rem;
  }

  .route-modal--sheet .care-sheet__header {
    padding-inline: 2.25rem;
  }

  .route-modal__close-form {
    height: 0;
    top: calc(var(--route-modal-padding) - var(--route-modal-gap));
    z-index: 1;
    justify-content: flex-end;
    display: flex;
    position: sticky;
  }

  .route-modal__close {
    border: 1px solid var(--color-line);
    color: var(--color-cocoa);
    height: 2.75rem;
    margin-right: calc(.75rem - var(--route-modal-padding));
    margin-top: calc(.75rem - var(--route-modal-padding));
    background: #fff;
    border-radius: 999px;
    flex: none;
    justify-content: center;
    align-items: center;
    width: 2.75rem;
    transition: border-color .16s, color .16s;
    display: inline-flex;
    box-shadow: 0 10px 24px -14px #28181a99;
  }

  .route-modal__close:hover {
    border-color: var(--color-pink);
    color: var(--color-rose-dark);
  }

  .route-modal__header {
    gap: .4rem;
    padding-right: 2.5rem;
    display: grid;
  }

  .route-modal__title {
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    font-weight: 800;
    line-height: 1.15;
  }

  .route-modal__header .script-accent {
    margin: .2rem 0 0;
  }

  html:has(.route-modal[open]) {
    scrollbar-gutter: stable;
    overflow: hidden;
  }

  @keyframes route-modal-fade {
    0% {
      opacity: 0;
    }
  }

  @keyframes route-modal-rise {
    0% {
      opacity: 0;
      transform: translateY(1.5rem);
    }
  }

  .led {
    --led-glow: linear-gradient(120deg, var(--color-rose) 0%, #8d4e86 55%, #6b54a2 100%);
    --led-tint: linear-gradient(135deg, #fdf0f2 0%, #f3eefb 100%);
  }

  .led .section-heading__title:after {
    background: var(--led-glow);
    content: "";
    border-radius: 2px;
    width: 3.5rem;
    height: 3px;
    margin-top: .85rem;
    display: block;
  }

  .led .section-heading--center .section-heading__title:after {
    margin-inline: auto;
  }

  .led-banner {
    background: radial-gradient(circle at 88% 18%, #ffffff47, transparent 38%), radial-gradient(circle at 8% 100%, #ffffff24, transparent 42%), var(--led-glow);
    color: #fff;
    margin: calc(-1 * var(--route-modal-padding)) calc(-1 * var(--route-modal-padding)) 0;
    text-align: center;
    border-radius: 1.5rem 1.5rem 0 0;
    justify-items: center;
    gap: .6rem;
    padding: clamp(2.75rem, 7vw, 3.75rem) clamp(1.5rem, 5vw, 3rem) clamp(2.25rem, 6vw, 3.25rem);
    display: grid;
  }

  .led-banner__label {
    font-family: var(--font-display);
    letter-spacing: .18em;
    text-transform: uppercase;
    background: #28181a59;
    border: 1px solid #ffffff59;
    border-radius: 999px;
    padding: .35rem .9rem;
    font-size: .75rem;
    font-weight: 800;
  }

  .led-banner__title {
    color: #fff;
    letter-spacing: .03em;
    text-transform: uppercase;
    font-size: clamp(1.9rem, 5.5vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
  }

  .led-banner__script {
    font-family: var(--font-script);
    font-size: clamp(1.7rem, 4.4vw, 2.4rem);
    line-height: 1.1;
  }

  .led-block {
    margin-top: clamp(2.25rem, 5vw, 3rem);
  }

  .led--modal .section-heading {
    margin-bottom: 1.5rem;
  }

  .led--modal .section-heading__title {
    font-size: clamp(1.4rem, 3.2vw, 1.75rem);
  }

  .led--modal .script-accent {
    font-size: clamp(1.6rem, 3.4vw, 2rem);
  }

  .led-benefits {
    gap: 1rem;
    display: grid;
  }

  @media (width >= 40rem) {
    .led-benefits {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  .led-benefit {
    background: var(--led-tint);
    border-radius: 1.25rem;
    align-content: start;
    gap: .35rem 1.1rem;
    padding: 1.3rem 1.4rem 1.4rem;
    display: grid;
  }

  .led-benefit__icon {
    background: #fff;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 3.75rem;
    height: 3.75rem;
    margin-bottom: .4rem;
    display: flex;
    box-shadow: 0 12px 24px -18px #6b54a2cc;
  }

  @media (width >= 30rem) {
    .led-benefit {
      grid-template-columns: 3.75rem minmax(0, 1fr);
    }

    .led-benefit__icon {
      grid-row: span 2;
      margin-bottom: 0;
    }
  }

  .led-benefit__icon svg {
    width: 2.5rem;
    height: 2.5rem;
  }

  .led-benefit__title {
    align-self: end;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.3;
  }

  @media (width >= 64rem) {
    .led--page .led-benefits {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .led--page .led-benefit {
      text-align: center;
      grid-template-columns: none;
      justify-items: center;
      row-gap: .6rem;
      padding: 1.75rem 1.4rem;
    }

    .led--page .led-benefit__icon {
      grid-row: auto;
      width: 4.5rem;
      height: 4.5rem;
      margin-bottom: .4rem;
    }

    .led--page .led-benefit__icon svg {
      width: 3rem;
      height: 3rem;
    }
  }

  .led-flow {
    container: led-flow / inline-size;
  }

  .led-steps {
    gap: 1.5rem;
    display: grid;
  }

  .led-step {
    --led-circle: 5.5rem;
    grid-template-columns: var(--led-circle) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-items: start;
    gap: .25rem 1.1rem;
    display: grid;
    position: relative;
  }

  .led-step:not(:last-child):after {
    background: linear-gradient(var(--color-pink), var(--color-pink-soft));
    content: "";
    height: calc(100% - var(--led-circle) + .7rem);
    left: calc(var(--led-circle) / 2 - 1px);
    top: calc(var(--led-circle) + .4rem);
    width: 2px;
    position: absolute;
  }

  .led-step__visual {
    width: var(--led-circle);
    grid-row: span 2;
    position: relative;
  }

  .led-step__photo, .led-step__start {
    aspect-ratio: 1;
    border: 4px solid #fff;
    border-radius: 999px;
    width: 100%;
    display: flex;
    box-shadow: 0 16px 30px -20px #28181aa6;
  }

  .led-step__photo {
    object-fit: cover;
  }

  .led-step__start {
    background: var(--led-glow);
    color: #fff;
    font-family: var(--font-display);
    letter-spacing: .16em;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    padding-left: .16em;
    font-size: .82rem;
    font-weight: 800;
  }

  .led-step__number {
    background: var(--color-rose);
    color: #fff;
    font-family: var(--font-display);
    border: 2px solid #fff;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 1.75rem;
    height: 1.75rem;
    font-size: .78rem;
    font-weight: 800;
    display: flex;
    position: absolute;
    top: -.15rem;
    left: -.15rem;
  }

  .led-step__title {
    padding-top: .9rem;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
  }

  @container led-flow (width >= 44rem) {
    .led-steps {
      grid-auto-columns: minmax(0, 1fr);
      grid-auto-flow: column;
    }

    .led-step {
      --led-circle: 8rem;
      text-align: center;
      grid-template-rows: none;
      grid-template-columns: none;
      align-content: start;
      justify-items: center;
      row-gap: .4rem;
    }

    .led-step:not(:last-child):after {
      background: linear-gradient(90deg, var(--color-pink-soft), var(--color-pink));
      height: 2px;
      left: calc(50% + var(--led-circle) / 2 + .6rem);
      top: calc(var(--led-circle) / 2 - 1px);
      width: calc(100% + 1.5rem - var(--led-circle) - 1.2rem);
    }

    .led-step:not(:last-child):before {
      border-right: 2px solid var(--color-pink);
      border-top: 2px solid var(--color-pink);
      content: "";
      height: .6rem;
      left: calc(150% - var(--led-circle) / 2 + .18rem);
      top: calc(var(--led-circle) / 2 - .3rem);
      width: .6rem;
      position: absolute;
      transform: rotate(45deg);
    }

    .led-step__visual {
      grid-row: auto;
      margin-bottom: .6rem;
    }

    .led-step__title {
      padding-top: 0;
    }

    .led-step__number {
      width: 2rem;
      height: 2rem;
      font-size: .85rem;
      top: .2rem;
      left: .2rem;
    }
  }

  .led-safety {
    background: var(--led-tint);
    border-radius: 1.5rem;
    gap: 1.5rem 2.5rem;
    padding: clamp(1.5rem, 4vw, 2.75rem);
    display: grid;
  }

  .led-safety .section-heading {
    margin-bottom: 0;
  }

  .led-safety__photo {
    background: #fff;
    border: 4px solid #fff;
    border-radius: 1rem;
    width: 100%;
    max-width: 14rem;
    height: auto;
    box-shadow: 0 16px 30px -22px #28181a99;
  }

  @media (width >= 48rem) {
    .led-safety {
      grid-template-columns: 13rem minmax(0, 1fr);
      align-items: center;
    }
  }

  .led-faq {
    gap: 1.75rem;
    display: grid;
  }

  .led-faq__item {
    grid-template-columns: 2.6rem minmax(0, 1fr);
    gap: .4rem 1rem;
    display: grid;
  }

  .led-faq__number {
    background: var(--led-glow);
    color: #fff;
    font-family: var(--font-display);
    border-radius: 999px;
    grid-row: span 2;
    justify-content: center;
    align-self: start;
    align-items: center;
    height: 1.9rem;
    margin-top: .05rem;
    font-size: .85rem;
    font-weight: 800;
    display: flex;
  }

  .led-faq__question {
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.35;
  }

  .led-closing {
    background: radial-gradient(circle at 0% 100%, #fff3, transparent 35%), var(--led-glow);
    color: #fff;
    text-align: center;
    padding-block: clamp(2.5rem, 6vw, 4rem);
  }

  .led-closing > div {
    justify-items: center;
    gap: 1.4rem;
    display: grid;
  }

  .led-closing__text {
    max-width: 40rem;
    font-size: 1.1rem;
  }

  .led-closing .text-link {
    color: #fff;
  }

  .led-closing :focus-visible {
    outline-color: #fff;
  }

  .led--modal .led-closing {
    margin: clamp(2.25rem, 5vw, 3rem) calc(-1 * var(--route-modal-padding)) calc(-1 * var(--route-modal-padding));
    padding-inline: var(--route-modal-padding);
    border-radius: 0 0 1.5rem 1.5rem;
  }

  .led-note {
    border: 1px solid var(--color-line);
    border-left: 4px solid var(--color-pink);
    background: #fff;
    border-radius: 1.25rem;
    justify-self: stretch;
    justify-items: start;
    gap: .75rem;
    padding: 1.4rem 1.5rem 1.5rem;
    display: grid;
  }

  .led-note__label {
    color: var(--color-rose);
    font-family: var(--font-display);
    letter-spacing: .14em;
    text-transform: uppercase;
    align-items: center;
    gap: .35rem;
    font-size: .78rem;
    font-weight: 800;
    display: inline-flex;
  }

  .led-note__heading {
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.25;
  }

  .contact-find {
    gap: clamp(2.5rem, 6vw, 4rem);
    display: grid;
  }

  @media (width >= 64rem) {
    .contact-find {
      grid-template-columns: 1.05fr 1fr;
    }
  }

  .contact-find__text .section-heading {
    margin-bottom: 1.5rem;
  }

  .contact-find__address {
    align-items: start;
    gap: .75rem;
    margin-bottom: 1.25rem;
    font-style: normal;
    display: flex;
  }

  .contact-find__address svg {
    color: var(--color-rose);
    flex: none;
    margin-top: .15rem;
  }

  .contact-find__address strong {
    color: var(--color-cocoa);
  }

  .contact-find__directions {
    border-left: 3px solid var(--color-pink-soft);
    color: var(--color-taupe);
    gap: .5rem;
    margin-bottom: 2rem;
    padding-left: 1rem;
  }

  .contact-tiles {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
    gap: .9rem;
    display: grid;
  }

  .contact-tile {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: 1.1rem;
    padding: 1.1rem 1.2rem;
    font-size: .95rem;
  }

  .contact-tile a {
    color: var(--color-rose);
    overflow-wrap: anywhere;
    font-weight: 600;
  }

  .contact-tile__icon {
    color: var(--color-rose);
    width: 1.6rem;
    height: 1.6rem;
    margin-bottom: .4rem;
  }

  .contact-tile__heading {
    margin-bottom: .2rem;
    font-size: 1rem;
    font-weight: 800;
  }

  @media (width <= 39.99rem) {
    .contact-tile {
      grid-template-columns: auto 1fr;
      column-gap: .9rem;
      padding: .9rem 1.1rem;
      display: grid;
    }

    .contact-tile > :not(.contact-tile__icon) {
      grid-column: 2;
    }

    .contact-tile__icon {
      grid-row: span 3;
      margin-bottom: 0;
    }
  }

  .contact-find__map {
    grid-template-rows: 1fr auto;
    justify-items: start;
    gap: 1rem;
    min-height: 24rem;
    display: grid;
  }

  .map-embed {
    border: 0;
    border-radius: 1.5rem;
    width: 100%;
    height: 100%;
    min-height: 24rem;
  }

  .contact-message {
    gap: clamp(2.5rem, 6vw, 4rem);
    display: grid;
  }

  @media (width >= 64rem) {
    .contact-message {
      grid-template-columns: .9fr 1.1fr;
      align-items: start;
    }
  }

  .contact-message__text {
    gap: 1.5rem;
    display: grid;
  }

  .contact-message__text .section-heading {
    margin-bottom: 0;
  }

  .contact-message__subheading {
    margin-bottom: .6rem;
    font-size: 1.05rem;
    font-weight: 800;
  }

  .contact-message__form {
    background: #fff;
    border-radius: 1.5rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    box-shadow: 0 30px 60px -40px #28181a8c;
  }

  .contact-form, .contact-form__pair {
    gap: 1.1rem;
    display: grid;
  }

  @media (width >= 40rem) {
    .contact-form__pair {
      grid-template-columns: 1fr 1fr;
    }
  }

  .form-field {
    gap: .4rem;
    display: grid;
  }

  .form-field label {
    color: var(--color-cocoa);
    font-size: .92rem;
    font-weight: 700;
  }

  .form-field__optional {
    color: var(--color-taupe);
    font-weight: 400;
  }

  .form-field input, .form-field textarea {
    background: var(--color-cream);
    color: var(--color-cocoa);
    font: inherit;
    border: 1px solid #dcc5c9;
    border-radius: .8rem;
    width: 100%;
    min-height: 3rem;
    padding: .7rem .95rem;
    transition: border-color .16s, box-shadow .16s;
  }

  .form-field input:focus, .form-field textarea:focus {
    border-color: var(--color-rose);
    outline: none;
    box-shadow: 0 0 0 3px #e48f994d;
  }

  .form-field [aria-invalid="true"] {
    border-color: #b42318;
  }

  .form-field__error {
    color: #9f1d14;
    font-size: .85rem;
    font-weight: 600;
  }

  .form-alert {
    border-radius: .9rem;
    margin-bottom: 1.25rem;
    padding: .9rem 1.1rem;
    font-size: .95rem;
  }

  .form-alert--error {
    color: #7a1a12;
    background: #fdf0ef;
    border: 1px solid #f2c4c0;
  }

  .contact-sent {
    justify-items: start;
    gap: .75rem;
    padding-block: 1rem;
    display: grid;
  }

  .contact-sent__heading {
    font-size: 1.5rem;
    font-weight: 800;
  }

  .quote-band, .booking-band {
    color: #fff;
    isolation: isolate;
    position: relative;
    overflow: hidden;
  }

  .quote-band__shade {
    z-index: -1;
    background: linear-gradient(#28181a9e, #28181ac7);
    position: absolute;
    inset: 0;
  }

  .quote-band__content {
    text-align: center;
    justify-items: center;
    gap: 1rem;
    padding-block: clamp(4rem, 9vw, 6.5rem);
    display: grid;
  }

  .quote-band__mark {
    fill: var(--color-pink);
    width: 2.6rem;
    height: 2rem;
  }

  .quote-band__quote {
    font-family: var(--font-script);
    max-width: 22ch;
    font-size: clamp(2.4rem, 5.5vw, 3.8rem);
    line-height: 1.12;
  }

  .quote-band__caption {
    align-items: center;
    gap: .1rem;
    display: grid;
  }

  .quote-band__author {
    font-family: var(--font-display);
    letter-spacing: .04em;
    font-weight: 800;
  }

  .quote-band__role {
    color: var(--color-pink-soft);
    font-size: .85rem;
  }

  .booking-band__shade {
    z-index: -1;
    background: linear-gradient(90deg, #28181aeb 0%, #28181ac7 55%, #28181a8c 100%);
    position: absolute;
    inset: 0;
  }

  .booking-band__content {
    justify-items: start;
    gap: 1.1rem;
    padding-block: clamp(4.5rem, 10vw, 7rem);
    display: grid;
  }

  .booking-band__heading {
    color: #fff;
    max-width: 16ch;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    font-weight: 800;
    line-height: 1.08;
  }

  .booking-band__text {
    color: #ffffffd9;
    max-width: 36rem;
    font-size: 1.08rem;
  }

  .booking-band__actions {
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: .5rem;
    display: flex;
  }

  .site-footer {
    background: var(--color-cocoa);
    color: #fcfafac7;
    font-size: .94rem;
  }

  .site-footer__grid {
    gap: 2.5rem;
    padding-block: clamp(3.5rem, 8vw, 5rem) 2.5rem;
    display: grid;
  }

  @media (width >= 48rem) {
    .site-footer__grid {
      grid-template-columns: 1fr 1fr;
    }
  }

  @media (width >= 64rem) {
    .site-footer__grid {
      grid-template-columns: 1.2fr 1.3fr 1fr .9fr;
    }
  }

  .site-footer__logo img {
    width: 8.5rem;
    height: auto;
  }

  .site-footer__tagline {
    max-width: 22rem;
    margin-block: 1rem 1.25rem;
  }

  .site-footer__heading {
    color: var(--color-cream);
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 1.1rem;
    font-size: .82rem;
    font-weight: 800;
  }

  .site-footer__details {
    gap: .9rem;
    display: grid;
  }

  .site-footer__details li {
    align-items: start;
    gap: .7rem;
    display: flex;
  }

  .site-footer__details svg {
    color: var(--color-pink);
    flex: none;
    margin-top: .2rem;
  }

  .site-footer a {
    transition: color .16s;
  }

  .site-footer a:hover {
    color: var(--color-pink);
  }

  .site-footer__links {
    gap: .5rem;
    display: grid;
  }

  .site-footer__book {
    margin-top: 1.5rem;
  }

  .site-footer a.btn-primary:hover {
    color: #fff;
  }

  .site-footer__bottom {
    border-top: 1px solid #ffffff1a;
    padding-block: 1.5rem;
    font-size: .85rem;
  }

  .social-links {
    flex-wrap: wrap;
    gap: .6rem;
    display: flex;
  }

  .social-links__link {
    border: 1px solid var(--color-line);
    color: var(--color-cocoa);
    background: #fff;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 2.75rem;
    height: 2.75rem;
    transition: background-color .16s, color .16s, border-color .16s;
    display: inline-flex;
  }

  .social-links__link:hover {
    border-color: var(--color-pink);
    color: var(--color-rose);
  }

  .site-footer .social-links__link {
    color: var(--color-cream);
    background: #ffffff0f;
    border-color: #ffffff2e;
  }

  .site-footer .social-links__link:hover {
    background: var(--color-rose);
    border-color: var(--color-rose);
    color: #fff;
  }

  .not-found__content {
    text-align: center;
    justify-items: center;
    gap: 1.25rem;
    max-width: 40rem;
    display: grid;
  }

  .not-found__actions {
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
    display: flex;
  }
}

@layer utilities {
  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-y-0 {
    inset-block: 0;
  }

  .top-0 {
    top: 0;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-3 {
    top: calc(var(--spacing) * 3);
  }

  .top-auto {
    top: auto;
  }

  .right-0 {
    right: 0;
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .bottom-0 {
    bottom: 0;
  }

  .-left-\[10000px\] {
    left: -10000px;
  }

  .left-0 {
    left: 0;
  }

  .left-2 {
    left: calc(var(--spacing) * 2);
  }

  .z-20 {
    z-index: 20;
  }

  .z-30 {
    z-index: 30;
  }

  .z-40 {
    z-index: 40;
  }

  .col-span-2 {
    grid-column: span 2 / span 2;
  }

  .container {
    width: 100%;
  }

  @media (width >= 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (width >= 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (width >= 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (width >= 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (width >= 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .-my-3 {
    margin-block: calc(var(--spacing) * -3);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-auto {
    margin-top: auto;
  }

  .mt-px {
    margin-top: 1px;
  }

  .-mb-8 {
    margin-bottom: calc(var(--spacing) * -8);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .-ml-2 {
    margin-left: calc(var(--spacing) * -2);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-auto {
    margin-left: auto;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .size-2 {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
  }

  .size-2\.5 {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
  }

  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }

  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }

  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }

  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }

  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  .size-12 {
    width: calc(var(--spacing) * 12);
    height: calc(var(--spacing) * 12);
  }

  .size-24 {
    width: calc(var(--spacing) * 24);
    height: calc(var(--spacing) * 24);
  }

  .size-full {
    width: 100%;
    height: 100%;
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-0 {
    width: 0;
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-36 {
    width: calc(var(--spacing) * 36);
  }

  .w-56 {
    width: calc(var(--spacing) * 56);
  }

  .w-60 {
    width: calc(var(--spacing) * 60);
  }

  .w-64 {
    width: calc(var(--spacing) * 64);
  }

  .w-72 {
    width: calc(var(--spacing) * 72);
  }

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .w-px {
    width: 1px;
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-56 {
    max-width: calc(var(--spacing) * 56);
  }

  .max-w-\[85vw\] {
    max-width: 85vw;
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-none {
    max-width: none;
  }

  .max-w-prose {
    max-width: 65ch;
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: 0;
  }

  .min-w-6 {
    min-width: calc(var(--spacing) * 6);
  }

  .min-w-40 {
    min-width: calc(var(--spacing) * 40);
  }

  .min-w-44 {
    min-width: calc(var(--spacing) * 44);
  }

  .min-w-48 {
    min-width: calc(var(--spacing) * 48);
  }

  .min-w-56 {
    min-width: calc(var(--spacing) * 56);
  }

  .min-w-64 {
    min-width: calc(var(--spacing) * 64);
  }

  .min-w-72 {
    min-width: calc(var(--spacing) * 72);
  }

  .flex-1 {
    flex: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .list-decimal {
    list-style-type: decimal;
  }

  .list-disc {
    list-style-type: disc;
  }

  .list-none {
    list-style-type: none;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-\[minmax\(0\,1fr\)_8rem\] {
    grid-template-columns: minmax(0, 1fr) 8rem;
  }

  .grid-cols-\[minmax\(0\,1fr\)_11rem_6\.5rem\] {
    grid-template-columns: minmax(0, 1fr) 11rem 6.5rem;
  }

  .grid-cols-\[minmax\(0\,1fr\)_auto\] {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .place-items-center {
    place-items: center;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-start {
    justify-content: flex-start;
  }

  .gap-1 {
    gap: var(--spacing);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-1\.5 {
    column-gap: calc(var(--spacing) * 1.5);
  }

  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }

  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }

  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }

  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }

  .gap-y-1 {
    row-gap: var(--spacing);
  }

  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }

  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-line > :not(:last-child)) {
    border-color: var(--color-line);
  }

  .self-start {
    align-self: flex-start;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-clip {
    overflow: clip;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-none {
    border-radius: 0;
  }

  .rounded-l-md {
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }

  .rounded-r-md {
    border-top-right-radius: var(--radius-md);
    border-bottom-right-radius: var(--radius-md);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-r-0 {
    border-right-style: var(--tw-border-style);
    border-right-width: 0;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-l-0 {
    border-left-style: var(--tw-border-style);
    border-left-width: 0;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-\[\#b9d9bd\] {
    border-color: #b9d9bd;
  }

  .border-\[\#c9d6e6\] {
    border-color: #c9d6e6;
  }

  .border-\[\#e4b7b0\] {
    border-color: #e4b7b0;
  }

  .border-\[\#e6d3a3\] {
    border-color: #e6d3a3;
  }

  .border-line {
    border-color: var(--color-line);
  }

  .bg-\[\#edf7ee\] {
    background-color: #edf7ee;
  }

  .bg-\[\#f1f5fa\] {
    background-color: #f1f5fa;
  }

  .bg-\[\#fdf7e8\] {
    background-color: #fdf7e8;
  }

  .bg-\[\#fff0ee\] {
    background-color: #fff0ee;
  }

  .bg-black\/60 {
    background-color: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/60 {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .bg-rose {
    background-color: var(--color-rose);
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/90 {
    background-color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/90 {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .object-top {
    object-position: top;
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: var(--spacing);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-1 {
    padding-inline: var(--spacing);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .pt-1 {
    padding-top: var(--spacing);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

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

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.6875rem\] {
    font-size: .6875rem;
  }

  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.18em\] {
    --tw-tracking: .18em;
    letter-spacing: .18em;
  }

  .tracking-\[0\.075em\] {
    --tw-tracking: .075em;
    letter-spacing: .075em;
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .\[overflow-wrap\:anywhere\] {
    overflow-wrap: anywhere;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-line {
    white-space: pre-line;
  }

  .text-\[\#2b4d74\] {
    color: #2b4d74;
  }

  .text-\[\#6b4e00\] {
    color: #6b4e00;
  }

  .text-\[\#8a2920\] {
    color: #8a2920;
  }

  .text-\[\#245a2e\] {
    color: #245a2e;
  }

  .text-\[\#286334\] {
    color: #286334;
  }

  .text-\[\#755200\] {
    color: #755200;
  }

  .text-\[\#b07a12\] {
    color: #b07a12;
  }

  .text-cocoa {
    color: var(--color-cocoa);
  }

  .text-red-700 {
    color: var(--color-red-700);
  }

  .text-rose {
    color: var(--color-rose);
  }

  .text-stone-300 {
    color: var(--color-stone-300);
  }

  .text-stone-400 {
    color: var(--color-stone-400);
  }

  .text-stone-500 {
    color: var(--color-stone-500);
  }

  .text-stone-600 {
    color: var(--color-stone-600);
  }

  .text-stone-700 {
    color: var(--color-stone-700);
  }

  .text-white {
    color: var(--color-white);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }

  .accent-rose {
    accent-color: var(--color-rose);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }

  .\[no-new-privileges\:true\] {
    no-new-privileges: true;
  }

  .ring-inset {
    --tw-ring-inset: inset;
  }

  @media (hover: hover) {
    .group-hover\:text-stone-500:is(:where(.group):hover *) {
      color: var(--color-stone-500);
    }
  }

  .file\:mr-3::file-selector-button {
    margin-right: calc(var(--spacing) * 3);
  }

  .file\:rounded-md::file-selector-button {
    border-radius: var(--radius-md);
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-white::file-selector-button {
    background-color: var(--color-white);
  }

  .file\:px-3::file-selector-button {
    padding-inline: calc(var(--spacing) * 3);
  }

  .file\:py-2::file-selector-button {
    padding-block: calc(var(--spacing) * 2);
  }

  .file\:text-sm::file-selector-button {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .file\:font-semibold::file-selector-button {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .file\:ring-1::file-selector-button {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .file\:ring-inset::file-selector-button {
    --tw-ring-inset: inset;
  }

  .first\:border-t-0:first-child {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  .first\:pt-0:first-child {
    padding-top: 0;
  }

  .empty\:hidden:empty {
    display: none;
  }

  @media (hover: hover) {
    .hover\:bg-blush:hover {
      background-color: var(--color-blush);
    }

    .hover\:bg-stone-50:hover {
      background-color: var(--color-stone-50);
    }

    .hover\:text-red-700:hover {
      color: var(--color-red-700);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:underline-offset-2:hover {
      text-underline-offset: 2px;
    }

    .hover\:file\:bg-stone-50:hover::file-selector-button {
      background-color: var(--color-stone-50);
    }
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

  .has-\[\:disabled\]\:cursor-not-allowed:has(:disabled) {
    cursor: not-allowed;
  }

  .has-\[\:disabled\]\:opacity-60:has(:disabled) {
    opacity: .6;
  }

  .has-\[\:focus-visible\]\:outline-2:has(:focus-visible) {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .has-\[\:focus-visible\]\:outline-offset-2:has(:focus-visible) {
    outline-offset: 2px;
  }

  .has-\[\:focus-visible\]\:outline-rose:has(:focus-visible) {
    outline-color: var(--color-rose);
  }

  @media (width >= 40rem) {
    .sm\:not-sr-only {
      clip-path: none;
      white-space: normal;
      width: auto;
      height: auto;
      margin: 0;
      padding: 0;
      position: static;
      overflow: visible;
    }

    .sm\:col-span-1 {
      grid-column: span 1 / span 1;
    }

    .sm\:col-span-3 {
      grid-column: span 3 / span 3;
    }

    .sm\:-mx-6 {
      margin-inline: calc(var(--spacing) * -6);
    }

    .sm\:grid {
      display: grid;
    }

    .sm\:hidden {
      display: none;
    }

    .sm\:table-cell {
      display: table-cell;
    }

    .sm\:aspect-\[4\/3\] {
      aspect-ratio: 4 / 3;
    }

    .sm\:size-5 {
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
    }

    .sm\:size-8 {
      width: calc(var(--spacing) * 8);
      height: calc(var(--spacing) * 8);
    }

    .sm\:w-72 {
      width: calc(var(--spacing) * 72);
    }

    .sm\:w-auto {
      width: auto;
    }

    .sm\:w-full {
      width: 100%;
    }

    .sm\:min-w-64 {
      min-width: calc(var(--spacing) * 64);
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:grid-cols-\[8rem_9rem_minmax\(0\,1fr\)\] {
      grid-template-columns: 8rem 9rem minmax(0, 1fr);
    }

    .sm\:grid-cols-\[minmax\(0\,1fr\)_11rem_auto\] {
      grid-template-columns: minmax(0, 1fr) 11rem auto;
    }

    .sm\:flex-col {
      flex-direction: column;
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:flex-nowrap {
      flex-wrap: nowrap;
    }

    .sm\:items-center {
      align-items: center;
    }

    :where(.sm\:space-y-2 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }

    .sm\:border-t-0 {
      border-top-style: var(--tw-border-style);
      border-top-width: 0;
    }

    .sm\:p-10 {
      padding: calc(var(--spacing) * 10);
    }

    .sm\:px-3 {
      padding-inline: calc(var(--spacing) * 3);
    }

    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .sm\:pt-0 {
      padding-top: 0;
    }

    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (width >= 48rem) {
    .md\:hidden {
      display: none;
    }

    .md\:table-cell {
      display: table-cell;
    }
  }

  @media (width >= 64rem) {
    .lg\:-mx-8 {
      margin-inline: calc(var(--spacing) * -8);
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:grid-cols-\[minmax\(0\,1fr\)_10rem_minmax\(0\,1\.4fr\)\] {
      grid-template-columns: minmax(0, 1fr) 10rem minmax(0, 1.4fr);
    }

    .lg\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }

    .lg\:pl-72 {
      padding-left: calc(var(--spacing) * 72);
    }
  }

  @media (width >= 80rem) {
    .xl\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .xl\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .xl\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .\[\&_img\]\:bg-white img {
    background-color: var(--color-white);
  }

  .\[\&_img\]\:object-contain img {
    object-fit: contain;
  }

  .\[\&_img\]\:object-center img {
    object-position: center;
  }

  .\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
    display: none;
  }
}

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

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/*
 * The port's own rule: a half star, cut in half, as today's page cut it in
 * a style attribute, which the framework's content security policy
 * doesn't apply.
 */
.stars__full--half {
  clip-path: inset(0 50% 0 0);
}
