@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(fonts/source-sans-3-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(fonts/source-sans-3-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

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

:root {
  --black: #000;
  --white: #fff;
  --red: #e10600;
  --field: #f0f0f0;
  --line: #909090;
  --menu-line: #d9d9d9;
  --strip: #0d0d0d;
  --contact: #121212;
  --footer: #0c0c0c;
  --pro: bebas-neue-pro, "Bebas Neue", sans-serif;
  --sans: "Source Sans 3", "Source Sans Pro", sans-serif;
  --ease: cubic-bezier(.65, 0, .35, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --header: 4rem;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--header);
}

body {
  margin: 0;
  background-color: var(--white);
  color: var(--black);
  font-family: var(--pro);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
svg {
  display: block;
  max-width: 100%;
}

::selection {
  background-color: var(--red);
  color: var(--white);
}

img::selection {
  background: transparent;
}

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

button,
input {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font: inherit;
}

button {
  cursor: pointer;
}

p,
h1,
h2,
h3,
h4,
ol,
dl,
dd {
  margin: 0;
  padding: 0;
}

ol {
  list-style: none;
}

[hidden] {
  display: none !important;
}

.u-skip-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  padding: .75rem 1rem;
  background-color: var(--black);
  color: var(--white);
  transform: translateY(-100%);
}

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

.t-nav,
.t-menu,
.t-label,
.t-eyebrow,
.t-option,
.t-option-price,
.t-date,
.t-month,
.t-weekday,
.t-day,
.t-time,
.t-summary,
.t-btn,
.t-link,
.t-strip,
.t-cell,
.t-cell-name,
.t-step-num,
.t-question,
.t-legal,
.t-receipt-label,
.booking_title,
.step_title,
.t-h1,
.t-h2,
.t-h3,
.t-contact-head,
.steps_kicker {
  font-family: var(--pro);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-box: trim-both cap alphabetic;
}

.t-option-desc,
.t-note,
.t-body,
.t-lead,
.t-legal-note,
.booking_intro {
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.5;
  text-wrap: pretty;
  text-box: trim-both cap alphabetic;
}

.t-nav {
  font-size: 1rem;
  white-space: nowrap;
}

.t-menu {
  font-size: 1.5rem;
}

.t-label {
  font-size: .875rem;
}

.t-eyebrow {
  font-size: .875rem;
  font-weight: 600;
  color: rgba(0, 0, 0, .6);
}

.is-muted {
  color: rgba(0, 0, 0, .6);
}

.is-soft {
  color: rgba(0, 0, 0, .7);
}

.is-faint {
  color: rgba(0, 0, 0, .6);
}

.is-red {
  color: var(--red);
}

.t-label.is-red {
  font-weight: 600;
}

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

.is-white-soft {
  color: rgba(255, 255, 255, .7);
}

.t-h1,
.t-h2,
.t-h3,
.booking_title,
.step_title,
.t-contact-head {
  text-wrap: balance;
}

.t-h1 {
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
}

.t-h2 {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
}

.t-h3 {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
}

.t-lead {
  font-size: 1.125rem;
  color: rgba(0, 0, 0, .7);
}

.t-body {
  font-size: 1rem;
  color: rgba(0, 0, 0, .7);
}

.t-note {
  font-size: .875rem;
}

.t-btn {
  font-size: 1rem;
  white-space: nowrap;
}

.t-link {
  font-size: 1rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.t-link.is-plain {
  text-decoration: none;
}

.header_link,
.link_chevron,
.footer_links a,
.contact_content a,
.t-link {
  transition: opacity .2s ease-out;
}

.header_link:hover,
.link_chevron:hover,
.contact_content a:hover,
a.t-link:hover {
  opacity: .6;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  height: 3rem;
  padding: 0 2rem;
  background-color: var(--red);
  color: var(--white);
  transition: background-color .2s ease-out, opacity .2s ease-out;
}

.btn:hover {
  background-color: #c40500;
}

.btn.is-white {
  background-color: var(--white);
  color: var(--black);
}

.btn.is-white:hover {
  background-color: rgba(255, 255, 255, .85);
}

.btn[disabled] {
  cursor: default;
  opacity: .5;
}

.btn:focus-visible,
.booking_option:focus-visible,
.time_option:focus-visible,
.calendar_day:focus-visible,
.date_field:focus-visible,
.accordion_row:focus-visible,
.package_cell:focus-visible,
.progress_step:focus-visible {
  outline: 1px solid var(--black);
  outline-offset: 2px;
}

.link_chevron {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
}

.link_chevron svg,
.chevron {
  flex: none;
  width: .4375rem;
  height: .75rem;
}

.site_header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--header);
  background-color: var(--white);
}

.header_bar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  height: var(--header);
  padding: 0 2rem;
}

.header_nav {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.header_nav.is-right {
  justify-content: flex-end;
}

.header_link {
  display: flex;
  align-items: center;
}

.header_menu-btn,
.header_book-phone {
  display: none;
}

.header_logo {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 51;
  display: block;
  transform: translateX(-50%);
}

.header_logo-d {
  width: 5.875rem;
  height: 4rem;
}

.header_logo-p {
  display: none;
  width: 4.33125rem;
  height: 3rem;
}

.site_menu {
  position: fixed;
  inset: 0;
  z-index: 100;
  overflow-y: auto;
  background-color: var(--white);
  color: var(--black);
  clip-path: inset(0 0 100% 0);
  transition: clip-path .32s var(--ease) .08s;
}

.site_menu.is-open {
  clip-path: inset(0 0 0 0);
  transition: clip-path .45s var(--ease-out);
}

.site_menu.is-open .menu_row {
  opacity: 1;
  transform: none;
  transition: opacity .35s var(--ease-out), transform .35s var(--ease-out);
}

.site_menu.is-open .menu_row:nth-child(1) {
  transition-delay: 0.12s;
}

.site_menu.is-open .menu_row:nth-child(2) {
  transition-delay: 0.16s;
}

.site_menu.is-open .menu_row:nth-child(3) {
  transition-delay: 0.20s;
}

.site_menu.is-open .menu_row:nth-child(4) {
  transition-delay: 0.24s;
}

.site_menu.is-open .menu_row:nth-child(5) {
  transition-delay: 0.28s;
}

.site_menu.is-open .menu_row:nth-child(6) {
  transition-delay: 0.32s;
}

.menu_head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 3.5rem;
  border-bottom: 1px solid var(--menu-line);
}

.menu_head-cell {
  display: flex;
  align-items: center;
  padding: 0 .75rem;
}

.menu_head-cell.is-logo {
  border-right: 1px solid var(--menu-line);
}

.menu_head-cell.is-actions {
  justify-content: flex-end;
}

.menu_logo img {
  width: 3.60625rem;
  height: 2.5rem;
}

.menu_list {
  display: flex;
  flex-direction: column;
}

.menu_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 3.5rem;
  padding: 0 .75rem;
  border-bottom: 1px solid var(--menu-line);
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity .15s var(--ease), transform .15s var(--ease);
}

.menu_row.is-primary {
  height: 4.5rem;
}

.menu_row .t-nav {
  color: rgba(0, 0, 0, .6);
}

.menu_row:active {
  background-color: rgba(0, 0, 0, .05);
}

.icon_arrow {
  flex: none;
  width: 1rem;
  height: 1rem;
}

.section_booking {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 52.25rem;
  scroll-margin-top: var(--header);
}

.booking_photo {
  position: relative;
  min-height: 100%;
  background-color: var(--field);
}

.booking_photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.booking_step {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 4rem 5rem;
  overflow-x: clip;
}

.step_panel {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 3rem;
  max-width: 35rem;
}

.step_panel.is-spread {
  justify-content: space-between;
}

.step_content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.step_top {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.step_heading {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.step_panel.is-leaving {
  pointer-events: none;
  animation: panel-out .2s var(--ease) forwards;
}

.step_panel.is-leaving.is-back {
  animation-name: panel-out-back;
}

.step_panel.is-entering > :not(.step_content, .booking_summary),
.step_panel.is-entering > .step_content > * {
  animation: panel-in .6s var(--ease-out) both;
}

.step_panel.is-entering.is-back > :not(.step_content, .booking_summary),
.step_panel.is-entering.is-back > .step_content > * {
  animation-name: panel-in-back;
}

.step_panel.is-entering > :nth-child(2),
.step_panel.is-entering > .step_content > :nth-child(2) {
  animation-delay: .04s;
}

.step_panel.is-entering > :nth-child(3),
.step_panel.is-entering > .step_content > :nth-child(3) {
  animation-delay: .08s;
}

.step_panel.is-entering > :nth-child(n+4),
.step_panel.is-entering > .step_content > :nth-child(n+4),
.step_panel.is-entering > .booking_summary {
  animation-delay: .12s;
}

.date_calendar.is-closing {
  pointer-events: none;
  animation: fold .32s var(--ease) both;
}

.booking_notice,
.booking_summary {
  animation: reveal .35s var(--ease-out) both;
}

.booking_progress {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem 1.5rem;
  margin-bottom: 2rem;
}

.booking_progress li {
  display: flex;
}

.progress_step {
  display: block;
  font-family: var(--pro);
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, .3);
  cursor: default;
  transition: color .3s var(--ease), opacity .2s ease-out;
}

.progress_step span {
  display: block;
  text-box: trim-both cap alphabetic;
}

.progress_step.is-done,
.progress_step.is-current {
  color: var(--black);
}

.progress_step.is-done {
  cursor: pointer;
}

.progress_step.is-done:hover {
  opacity: .6;
}

.booking_title {
  font-size: clamp(3.5rem, 7.8571vw - 1.5714rem, 5.5rem);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.booking_intro {
  max-width: 30rem;
  font-size: 1rem;
  color: rgba(0, 0, 0, .7);
}

.booking_intro strong {
  font-weight: 700;
}

.step_title {
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
}

.step_question {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 1.5rem;
}

.option_list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.option_list.is-packages {
  padding-top: .5rem;
}

.booking_option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.5rem 1.75rem;
  background-color: var(--field);
  text-align: left;
  transition: background-color .2s ease-out, color .2s ease-out;
}

.booking_option:hover {
  background-color: #e4e4e4;
}

.booking_option.is-picked {
  background-color: var(--black);
  color: var(--white);
}

.booking_option.is-picked .t-option-desc {
  color: rgba(255, 255, 255, .7);
}

.option_text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .625rem;
  min-width: 0;
}

.option_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.option_head .chevron,
.option_text .t-option-price {
  display: none;
}

.t-option {
  font-size: 1.75rem;
  font-weight: 600;
}

.is-packages .t-option {
  font-size: 1.5rem;
}

.t-option-desc {
  font-size: 1rem;
  color: rgba(0, 0, 0, .6);
}

.option_meta {
  display: flex;
  flex: none;
  align-items: center;
  gap: 1.25rem;
}

.t-option-price {
  font-size: 1rem;
  white-space: nowrap;
}

.step_note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
}

.step_note .link_chevron .t-link {
  font-size: .875rem;
}

.duration_list,
.time_options {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .5rem;
}

.duration_list {
  padding-top: .5rem;
}

.time_option {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.25rem;
  background-color: var(--field);
  transition: background-color .2s ease-out;
}

.time_option:hover:not([disabled]) {
  background-color: #e4e4e4;
}

.time_option.is-picked,
.time_option.is-picked:hover {
  background-color: var(--black);
  color: var(--white);
}

.time_option[disabled] {
  background-color: transparent;
  color: rgba(0, 0, 0, .3);
  cursor: default;
}

.time_option[disabled] .t-time {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.t-time {
  font-size: 1.125rem;
}

.booking_days {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding-top: .5rem;
}

.date_field {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.25rem;
  padding: 0 1.75rem;
  background-color: var(--field);
  transition: background-color .2s ease-out;
}

.date_field:hover {
  background-color: #e4e4e4;
}

.t-date {
  font-size: 1.75rem;
  font-weight: 600;
}

.date_calendar {
  position: absolute;
  top: calc(100% + .5rem);
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  background-color: var(--field);
  animation: drop .4s var(--ease-out) both;
}

.calendar_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: .5rem;
}

.t-month {
  font-size: 1.25rem;
}

.calendar_arrows {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.calendar_arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin: -.375rem -.5rem;
}

.calendar_arrow svg {
  width: .4375rem;
  height: .75rem;
}

.calendar_arrow[disabled] {
  opacity: .3;
  cursor: default;
}

.calendar_weekdays,
.calendar_grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .375rem;
}

.calendar_weekdays span {
  justify-self: center;
}

.t-weekday {
  font-size: .875rem;
  color: rgba(0, 0, 0, .6);
}

.calendar_day {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  background-color: var(--white);
  transition: background-color .2s ease-out;
}

.calendar_day:hover:not([disabled]) {
  background-color: #e4e4e4;
}

.calendar_day.is-picked,
.calendar_day.is-picked:hover {
  background-color: var(--black);
  color: var(--white);
}

.calendar_day[disabled] {
  background-color: transparent;
  color: rgba(0, 0, 0, .3);
  cursor: default;
}

.calendar_day.is-empty {
  visibility: hidden;
}

.t-day {
  font-size: 1.125rem;
}

.booking_times {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.booking_summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: auto;
}

.summary_text {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
}

.t-summary {
  font-size: 1.25rem;
}

.booking_notice {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.booking_contact {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.field_group {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.input_field {
  width: 100%;
  height: 3.5rem;
  padding: 0 1.25rem;
  background-color: var(--field);
  font-family: var(--sans);
  font-size: 1rem;
  color: var(--black);
  outline: none;
  transition: box-shadow .2s ease-out;
}

.input_field::placeholder {
  color: rgba(0, 0, 0, .4);
}

.input_field:focus {
  box-shadow: inset 0 0 0 1px var(--black);
}

.is-checked .input_field:invalid {
  box-shadow: inset 0 0 0 1px var(--red);
}

.booking_receipt {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.receipt_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.receipt_grid:empty {
  display: none;
}

.receipt_cell {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
  padding: 2rem 1.25rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.t-receipt-label {
  font-size: 1rem;
}

.receipt_keep {
  white-space: nowrap;
}

.booking_receipt .t-note.is-narrow {
  max-width: 23.125rem;
}

.booking_summary.is-result {
  justify-content: space-between;
}

.section_strip {
  overflow: hidden;
  background-color: var(--strip);
  color: var(--white);
}

.strip_track {
  display: flex;
}

.strip_set {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  height: 6rem;
  padding: 0 2rem;
}

.strip_set.is-loop,
.strip_mark.is-loop {
  display: none;
}

.t-strip {
  font-size: 2rem;
  white-space: nowrap;
}

.strip_mark {
  flex: none;
  width: .5rem;
  height: .5rem;
  background-color: var(--red);
}

.studio_intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 4rem;
  padding: 8rem 2rem 5rem;
}

.studio_intro-head {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 56rem;
  max-width: 100%;
}

.studio_intro .t-lead {
  width: 30rem;
}

.studio_intro .t-h1 {
  max-width: 32rem;
}

.studio_leg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 40rem;
}

.studio_leg-img {
  position: relative;
  min-height: 20rem;
  background-color: var(--field);
}

.studio_leg-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.is-gray {
  filter: grayscale(1);
}

.studio_leg-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
  padding: 6rem;
}

.studio_leg-text .t-body {
  max-width: 30rem;
}

.studio_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 2rem;
  padding-top: .5rem;
}

.studio_setups {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 8rem 2rem;
}

.setups_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}

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

.setup_card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.setup_photo {
  filter: grayscale(1);
  width: 100%;
  height: auto;
  aspect-ratio: 332 / 443;
  object-fit: cover;
  background-color: var(--field);
}

.setup_text {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.setup_text .t-h3 + .t-body {
  margin-top: .5rem;
}

.prices_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  padding: 8rem 2rem 4rem;
  text-align: center;
}

.prices_head .t-lead {
  max-width: 32.375rem;
}

.prices_group-head {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
}

.prices_group-head.is-second {
  padding-top: 4rem;
}

.package_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
}

.package_cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background-color: var(--white);
  text-align: center;
  transition: background-color .25s var(--ease);
}

.package_cell:nth-child(3n),
.package_cell.is-punch {
  border-right: 0;
}

.cell_top {
  position: absolute;
  top: 2rem;
  left: 1.5rem;
  right: 1.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  text-align: left;
}

.cell_name {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.t-cell {
  font-size: 1rem;
}

.t-cell-name {
  font-size: 1.75rem;
  font-weight: 600;
}

.cell_chevron,
.cell_price-p {
  display: none;
}

.btn.is-cell {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  opacity: 0;
  transform: translateX(-50%);
  transition: opacity .25s var(--ease);
}

a.package_cell:focus-visible {
  background-color: var(--field);
}

.package_cell:hover .btn.is-cell,
.package_cell:focus-visible .btn.is-cell {
  opacity: 1;
  transition-delay: .08s;
}

@media (hover: hover) {
  a.package_cell:hover {
    background-color: var(--field);
  }
}

.package_cell.is-punch {
  grid-column: span 2;
  gap: 1.25rem;
  aspect-ratio: auto;
  padding: 0 2rem;
  background-color: var(--black);
  background-image: linear-gradient(rgba(0, 0, 0, .68), rgba(0, 0, 0, .68)), url(images/studio-entrance.webp);
  background-position: center;
  background-size: cover;
}

.package_cell.is-punch .t-body {
  max-width: 26.25rem;
  color: rgba(255, 255, 255, .8);
}

.package_cell.is-punch .btn {
  margin-top: .75rem;
}

.prices_note {
  padding: 1rem 2rem 0;
  text-align: center;
}

.prices_note.is-last {
  padding-bottom: 4rem;
}

.section_steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 45rem;
  background-color: var(--black);
  color: var(--white);
}

.steps_title {
  position: absolute;
  top: 3.5rem;
  left: 2rem;
  z-index: 2;
}

.steps_kicker {
  position: absolute;
  top: 3.5rem;
  right: 2rem;
  z-index: 2;
}

.step_col {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 3rem 2rem;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, .25);
}

.step_col:last-child {
  border-right: 0;
}

.step_col img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1);
}

.step_col::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, .6);
}

.step_text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 6.625rem;
}

.t-step-num {
  font-size: 1rem;
  color: rgba(255, 255, 255, .7);
}

.step_action {
  position: relative;
  z-index: 1;
  flex: none;
  height: 5rem;
  overflow: hidden;
}

.step_action .btn {
  position: absolute;
  left: 0;
  bottom: 0;
}

@media (hover: hover) {
  .step_action {
    height: 0;
    transition: height .5s var(--ease);
  }

  .step_action .btn {
    transform: translateY(100%);
    transition: transform .5s var(--ease), background-color .2s ease-out;
  }

  .step_col.has-action:hover .step_action,
  .step_col.has-action:focus-within .step_action {
    height: 5rem;
  }

  .step_col.has-action:hover .step_action .btn,
  .step_col.has-action:focus-within .step_action .btn {
    transform: none;
  }
}

.t-h2.is-step {
  font-size: 2.5rem;
}

.is-white-body {
  color: rgba(255, 255, 255, .8);
}

.is-narrow-1 {
  max-width: 16.9375rem;
}

.is-narrow-3 {
  max-width: 20.8125rem;
}

.section_faq {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  column-gap: 1rem;
  padding: 8rem 2rem;
}

.faq_head {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  grid-column: 1 / span 5;
}

.faq_head .t-h1 {
  max-width: 26.375rem;
}

.faq_list {
  grid-column: 6 / span 7;
  min-width: 0;
  border-top: 1px solid var(--line);
}

.faq_item {
  border-bottom: 1px solid var(--line);
}

.faq_heading {
  margin: 0;
  font: inherit;
}

.accordion_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  padding: 1.375rem 0;
  text-align: left;
}

.accordion_row:hover .t-question {
  opacity: .6;
}

.t-question {
  font-size: 1rem;
  transition: opacity .2s ease-out;
}

.accordion_icon {
  display: inline-block;
  flex: none;
  transition: transform .35s var(--ease);
}

.accordion_row[aria-expanded="true"] .accordion_icon {
  transform: rotate(45deg);
}

.accordion_panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .35s var(--ease);
}

.accordion_panel.is-open {
  grid-template-rows: 1fr;
}

.accordion_inner {
  overflow: hidden;
}

.t-inline-link {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .15em;
  transition: opacity .2s ease-out;
}

.t-inline-link:hover {
  opacity: .6;
}

.faq_answer {
  max-width: 40rem;
  padding: .375rem 0 1.375rem;
}

.section_contact {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 75vh;
  max-height: 65rem;
  min-height: 30rem;
  padding: 0 7rem;
  background-color: var(--contact);
  color: var(--white);
}

.contact_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  max-width: 76rem;
}

.contact_item {
  display: flex;
  justify-content: center;
}

.contact_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
}

.t-contact-head {
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: .2em;
}

.t-contact-info {
  display: block;
  font-family: var(--pro);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-box: trim-both cap alphabetic;
}

.site_footer {
  overflow: hidden;
  padding: 1rem 0 1.25rem;
  background-color: var(--footer);
  background-image: linear-gradient(rgba(0, 0, 0, .81), rgba(0, 0, 0, .81)), image-set(url(images/footer-bg-1440.webp) 1x, url(images/footer-bg-2880.webp) 2x);
  background-position: center;
  background-size: cover;
  color: var(--white);
}

.footer_logo {
  aspect-ratio: 1447 / 644;
  width: 100.4861%;
  max-width: none;
  height: auto;
  margin: -1rem 0 0 -.2368%;
}

.footer_bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.375rem;
  margin-top: 3.3125rem;
}

.footer_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  width: 100%;
  padding: 0 2rem;
}

.footer_links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.footer_links.is-right {
  align-items: flex-end;
  text-align: right;
}

.footer_links a,
.footer_links button,
.footer_social {
  color: rgba(255, 255, 255, .6);
  text-align: inherit;
  transition: color .2s ease-out;
}

.footer_links a:hover,
.footer_links button:hover,
.footer_social:hover {
  color: var(--white);
}

.footer_legal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 0 2rem;
  text-align: center;
}

.t-legal {
  font-size: .875rem;
}

.t-legal-note {
  max-width: 32.125rem;
  font-size: .8125rem;
  color: rgba(255, 255, 255, .6);
}

@media screen and (max-width: 1365px) {
  .cell_top {
    flex-direction: column;
    align-items: flex-start;
    gap: .625rem;
  }

  .studio_leg-text {
    padding: 4rem;
  }
}

@media screen and (max-width: 1199px) {
  .section_booking {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .booking_photo {
    height: 20rem;
  }

  .booking_step {
    padding: 3rem 2rem 4rem;
  }

  .step_panel {
    max-width: none;
  }

  .booking_title {
    font-size: 5.5rem;
  }
}

@media screen and (max-width: 1023px) {
  .studio_intro {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .studio_intro .t-lead {
    width: auto;
    max-width: 30rem;
  }

  .studio_leg {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .studio_leg-img {
    height: 26rem;
  }

  .studio_leg.is-popup .studio_leg-img {
    order: -1;
  }

  .studio_leg-text {
    padding: 3rem 2rem 4rem;
  }

  .package_grid {
    grid-template-columns: 1fr;
  }

  a.package_cell,
  a.package_cell:nth-child(3n) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "name price chevron" "spec price chevron" "meta price chevron";
    align-items: center;
    justify-items: start;
    column-gap: 1rem;
    aspect-ratio: auto;
    padding: 2.5rem 1.25rem calc(2.5rem - 1px);
    border-right: 0;
    text-align: left;
  }

  a.package_cell:active {
    background-color: var(--field);
  }

  a.package_cell .cell_top,
  a.package_cell .cell_name {
    display: contents;
  }

  .cell_name .t-cell-name {
    grid-area: name;
  }

  .cell_name .t-cell {
    grid-area: price;
    white-space: nowrap;
  }

  .cell_top .t-cell {
    grid-area: spec;
    margin-top: 1rem;
    color: rgba(0, 0, 0, .7);
  }

  .cell_top .t-label {
    grid-area: meta;
    margin-top: .75rem;
    color: rgba(0, 0, 0, .6);
  }

  .cell_chevron {
    display: block;
    grid-area: chevron;
    color: var(--red);
  }

  .cell_price-d,
  .btn.is-cell {
    display: none;
  }

  .cell_price-p {
    display: inline;
  }

  .package_cell.is-punch {
    grid-column: auto;
    justify-content: center;
    align-items: center;
    min-height: 27.5rem;
    padding: 0 1.25rem;
  }

  .section_steps {
    grid-template-columns: 1fr;
  }

  .step_col {
    min-height: 21.25rem;
    padding: 2rem 1.25rem;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .25);
  }

  .step_col:first-of-type {
    min-height: 27.5rem;
  }

  .step_col:last-child {
    border-bottom: 0;
  }

  .steps_title {
    top: 2.5rem;
    left: 1.25rem;
    right: 1.25rem;
  }

  .steps_kicker {
    display: none;
  }

  .step_text {
    min-height: 0;
  }

  .section_faq {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .faq_head {
    width: auto;
  }

  .faq_list {
    flex: none;
  }
}

@media screen and (max-width: 767px) {
  :root {
    --header: 3rem;
  }

  .header_bar {
    display: flex;
    justify-content: space-between;
    padding: 0 1.2175rem;
  }

  .header_bar .t-nav {
    font-size: 1.2175rem;
  }

  .header_nav {
    display: none;
  }

  .header_menu-btn,
  .header_book-phone {
    display: flex;
  }

  .header_logo-d {
    display: none;
  }

  .header_logo-p {
    display: block;
  }

  .booking_photo {
    height: 12.5rem;
  }

  .booking_step {
    padding: 2rem 1.25rem 3rem;
  }

  .step_panel,
  .step_content {
    gap: 2.5rem;
  }

  .step_top {
    gap: 1.5rem;
  }

  .booking_progress {
    margin-bottom: 1.5rem;
  }

  .booking_title {
    font-size: 3.5rem;
    white-space: normal;
  }

  .step_title {
    font-size: 3rem;
  }

  .step_question {
    padding-top: 1rem;
  }

  .booking_option {
    gap: .25rem;
    padding: 1.25rem;
  }

  .t-option {
    font-size: 1.75rem;
  }

  .is-packages .t-option {
    font-size: 1.25rem;
  }

  .t-option-desc {
    font-size: .875rem;
  }

  .option_text .t-option-price {
    display: block;
    font-size: .875rem;
  }

  .option_meta .t-option-price {
    display: none;
  }

  .is-packages .option_head .chevron {
    display: block;
  }

  .is-packages .option_meta {
    display: none;
  }

  .date_field {
    height: 3.75rem;
    padding: 0 1.25rem;
  }

  .date_calendar {
    gap: .75rem;
    padding: 1rem;
  }

  .calendar_weekdays,
  .calendar_grid {
    gap: .25rem;
  }

  .t-weekday {
    font-size: .75rem;
  }

  .calendar_day {
    height: 2.5rem;
  }

  .t-day {
    font-size: 1rem;
  }

  .duration_list,
  .time_options {
    gap: .375rem;
  }

  .time_option {
    height: 2.75rem;
  }

  .t-time {
    font-size: 1rem;
  }

  .booking_summary {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }

  .booking_summary .btn {
    width: 100%;
  }

  .booking_summary.is-result {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .booking_contact {
    gap: 1.25rem;
  }

  .input_field {
    height: 3.25rem;
  }

  .booking_receipt {
    gap: 1.25rem;
  }

  .receipt_grid {
    border-left: 0;
  }

  .receipt_cell {
    padding: 1.5rem 1rem 1.5rem 0;
  }

  .receipt_cell:nth-child(2n) {
    padding: 1.5rem 0 1.5rem 1rem;
    border-right: 0;
  }

  .receipt_cell .t-body {
    font-size: .875rem;
  }

  .booking_receipt .t-note.is-narrow {
    max-width: none;
  }

  .strip_track {
    width: max-content;
    animation: strip 24s linear infinite;
  }

  .strip_set,
  .strip_set.is-loop {
    display: flex;
    flex: none;
    gap: 1.25rem;
    justify-content: flex-start;
    height: 4rem;
    padding: 0 0 0 1.25rem;
  }

  .strip_mark.is-loop {
    display: block;
  }

  .t-strip {
    font-size: 1.25rem;
  }

  .strip_mark {
    width: .375rem;
    height: .375rem;
  }

  .studio_intro {
    padding: 5rem 1.25rem 3rem;
  }

  .t-h1 {
    font-size: 2.5rem;
  }

  .studio_intro .t-h1 {
    max-width: 20rem;
  }

  .t-h2 {
    font-size: 2.25rem;
  }

  .t-h3 {
    font-size: 1.5rem;
  }

  .t-lead {
    font-size: 1rem;
  }

  .studio_leg-img {
    height: 20rem;
  }

  .studio_leg-text {
    padding: 2rem 1.25rem 3.5rem;
  }

  .studio_setups {
    gap: 2rem;
    padding: 4.5rem 0 4rem;
  }

  .setups_head {
    align-items: flex-start;
    padding: 0 1.25rem;
    text-align: left;
  }

  .setups_cards {
    display: flex;
    gap: .75rem;
    padding: 0 1.25rem .5rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 1.25rem;
    scrollbar-width: none;
  }

  .setups_cards::-webkit-scrollbar {
    display: none;
  }

  .setup_card {
    flex: none;
    width: 17.5rem;
    scroll-snap-align: start;
  }

  .setup_card .t-body {
    font-size: .9375rem;
  }

  .prices_head {
    align-items: flex-start;
    gap: 1.5rem;
    padding: 4.5rem 1.25rem 3rem;
    text-align: left;
  }

  .prices_group-head {
    gap: 1rem;
    padding: 1rem 1.25rem 1.5rem;
  }

  .prices_group-head.is-second {
    padding-top: 6rem;
  }

  .t-cell-name {
    font-size: 1.5rem;
  }

  .cell_top .t-label {
    font-size: .875rem;
  }

  .prices_note {
    padding: 1rem 1.25rem 0;
  }

  .prices_note.is-last {
    padding-bottom: 4.5rem;
  }

  .t-h2.is-step {
    font-size: 2rem;
  }

  .section_faq {
    padding: 4.5rem 0;
  }

  .faq_head {
    padding: 0 1.25rem;
  }

  .accordion_row {
    padding: 1.375rem 1.25rem;
  }

  .faq_answer {
    padding: .375rem 1.25rem 1.375rem;
  }

  .section_contact {
    max-height: 35rem;
    min-height: 0;
    padding: 0 1rem;
  }

  .contact_grid {
    grid-template-columns: 1fr;
    gap: 6.25rem;
  }

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

  .t-contact-head {
    font-size: 2rem;
  }

  .site_footer {
    padding: 0 0 1.25rem;
    background-image: none;
  }

  .footer_logo {
    width: 102.41%;
    margin: -.45px 0 0 -1.192%;
  }

  .footer_bottom {
    gap: 2rem;
    margin-top: 4.0625rem;
  }

  .footer_row {
    padding: 0 1rem;
  }

  .footer_legal {
    padding: 0 1rem;
  }
}

@media screen and (min-width: 768px) {
  .site_menu {
    display: none;
  }
}

@keyframes strip {
  to {
    transform: translateX(-50%);
  }
}

@keyframes panel-out {
  to {
    opacity: 0;
    transform: translateX(-2rem);
  }
}

@keyframes panel-out-back {
  to {
    opacity: 0;
    transform: translateX(2rem);
  }
}

@keyframes panel-in {
  from {
    opacity: 0;
    transform: translateX(3rem);
  }
}

@keyframes panel-in-back {
  from {
    opacity: 0;
    transform: translateX(-3rem);
  }
}

@keyframes drop {
  from {
    opacity: 0;
    transform: translateY(-1rem);
    clip-path: inset(0 0 100% 0);
  }

  to {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes fold {
  from {
    clip-path: inset(0 0 0 0);
  }

  to {
    opacity: 0;
    transform: translateY(-1rem);
    clip-path: inset(0 0 100% 0);
  }
}

@keyframes reveal {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .site_menu,
  .menu_row {
    transition: none !important;
  }

  .strip_track,
  .step_panel.is-leaving,
  .step_panel.is-entering *,
  .date_calendar,
  .booking_notice,
  .booking_summary {
    animation: none !important;
  }
}

.cookie_banner,
.cookie_drawer {
  --ck-black: #000;
  --ck-white: #fff;
  --ck-red: var(--colors-lit-red, #e10600);
  --ck-line: #d9d9d9;
  --ck-ease: cubic-bezier(.65, 0, .35, 1);
  --ck-font: bebas-neue-pro, sans-serif;
}

.cookie_banner button,
.cookie_drawer button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.cookie_label,
.cookie_small {
  margin: 0 -.1em 0 0;
  font-family: var(--ck-font);
  line-height: 1.2;
  letter-spacing: .1em;
  white-space: nowrap;
  text-box: trim-both cap alphabetic;
}

.cookie_label {
  font-size: 1rem;
  font-weight: 400;
}

.cookie_small {
  font-size: .875rem;
  font-weight: 400;
  text-transform: uppercase;
}

.cookie_banner {
  position: fixed;
  left: 2rem;
  bottom: 2rem;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 25rem;
  padding: 1.5rem;
  background-color: var(--ck-red);
  color: var(--ck-white);
}

.cookie_banner[hidden],
.cookie_overlay[hidden],
.cookie_drawer[hidden] {
  display: none;
}

.cookie_title {
  margin: 0;
  font-family: var(--ck-font);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .1em;
  text-box: trim-both cap alphabetic;
}

.cookie_text,
.cookie_intro,
.cookie_row_text {
  margin-right: 0;
  line-height: 1.4;
  white-space: normal;
}

.cookie_text {
  color: rgba(255, 255, 255, .9);
}

.cookie_actions,
.cookie_footer_row {
  display: flex;
  gap: .5rem;
}

.cookie_btn {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  height: 3rem;
  transition: background-color .2s ease-out, color .2s ease-out;
}

.cookie_banner .cookie_btn.is-white {
  background-color: var(--ck-white);
  color: var(--ck-black);
}

.cookie_drawer .cookie_btn.is-black {
  height: 3.5rem;
  background-color: var(--ck-white);
  color: var(--ck-black);
}

.cookie_drawer .cookie_btn.is-outline {
  flex: none;
  height: 3.5rem;
  border: 1px solid var(--ck-white);
  color: var(--ck-white);
}

.cookie_links {
  display: flex;
  justify-content: space-between;
}

.cookie_link {
  color: var(--ck-white);
  transition: opacity .2s ease-out;
}

.cookie_link.is-underline {
  text-decoration: underline;
  text-underline-offset: .15em;
  text-decoration-thickness: 1px;
}

.cookie_overlay {
  position: fixed;
  inset: 0;
  z-index: 1001;
  background-color: rgba(0, 0, 0, .4);
  opacity: 0;
  transition: opacity .35s cubic-bezier(.65, 0, .35, 1);
}

.cookie_drawer {
  --ck-line: rgba(255, 255, 255, .25);
  --ck-dark: var(--colors-lit-dk-bg, #0d0d0d);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1002;
  display: flex;
  flex-direction: column;
  width: 30rem;
  max-width: 100%;
  overflow-y: auto;
  border-left: 1px solid var(--ck-line);
  background-color: var(--ck-dark);
  color: var(--ck-white);
  transform: translateX(100%);
  transition: transform .35s var(--ck-ease);
}

.cookie_overlay.is-open {
  opacity: 1;
}

.cookie_drawer.is-open {
  transform: none;
}

.cookie_top {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  height: 4rem;
  padding: 0 2rem;
  border-bottom: 1px solid var(--ck-line);
}

.cookie_drawer p.cookie_label {
  color: var(--ck-white);
}

.cookie_banner .cookie_label,
.cookie_banner .cookie_title {
  color: inherit;
}

.cookie_close {
  transition: opacity .2s ease-out;
}

.cookie_intro {
  padding: 1.5rem 2rem calc(1.5rem - 1px);
  border-bottom: 1px solid var(--ck-line);
  color: rgba(255, 255, 255, .7);
}

.cookie_row {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: 1.5rem 2rem calc(1.5rem - 1px);
  border-bottom: 1px solid var(--ck-line);
}

.cookie_row_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.cookie_always {
  color: rgba(255, 255, 255, .55);
}

.cookie_row_text {
  color: rgba(255, 255, 255, .7);
}

.cookie_drawer .cookie_toggle {
  position: relative;
  flex: none;
  width: 2.75rem;
  height: 1.5rem;
  border: 1px solid var(--ck-white);
  background-color: var(--ck-dark);
  transition: background-color .2s ease-out;
}

.cookie_knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 1rem;
  height: 1rem;
  background-color: var(--ck-white);
  transition: transform .2s var(--ck-ease), background-color .2s ease-out;
}

.cookie_drawer .cookie_toggle[aria-checked="true"] {
  background-color: var(--ck-white);
}

.cookie_toggle[aria-checked="true"] .cookie_knob {
  background-color: var(--ck-black);
  transform: translateX(1.25rem);
}

.cookie_footer {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: 1.5rem 2rem;
}

@media (hover: hover) {
  .cookie_link:hover,
  .cookie_close:hover {
    opacity: .6;
  }

  .cookie_banner .cookie_btn.is-white:hover {
    background-color: var(--ck-black);
    color: var(--ck-white);
  }

  .cookie_drawer .cookie_btn.is-black:hover {
    background-color: var(--ck-red);
    color: var(--ck-white);
  }

  .cookie_drawer .cookie_btn.is-outline:hover {
    background-color: var(--ck-white);
    color: var(--ck-black);
  }
}

@media screen and (max-width: 767px) {
  .cookie_banner {
    left: 0;
    right: 0;
    bottom: 0;
    gap: .875rem;
    width: auto;
    padding: 1.25rem 1.25rem 1.5rem;
  }

  .cookie_title {
    font-size: 1.25rem;
  }

  .cookie_drawer {
    top: auto;
    left: 0;
    width: auto;
    max-height: calc(100% - 3rem);
    border-top: 1px solid var(--ck-line);
    border-left: 0;
    transform: translateY(100%);
  }

  .cookie_top {
    height: 3rem;
    padding: 0 1.25rem;
  }

  .cookie_intro,
  .cookie_row {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }

  .cookie_footer {
    padding: 1.5rem 1.25rem;
  }

  .cookie_drawer .cookie_btn.is-black,
  .cookie_drawer .cookie_btn.is-outline {
    height: 3.25rem;
  }
}
