header .logo .award { display: none !important; }
header a.svg svg { visibility: hidden; }
header a.svg[data-estaimakeup]::after {
  content: attr(data-estaimakeup);
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font: italic 600 1.1em Georgia, serif;
  letter-spacing: -.04em;
  pointer-events: none;
}

.modal-wrap.is-wedding { z-index: 60; }
.is-wedding .panel-head { padding-bottom: 2.4rem; }
.is-wedding .panel-head-inner { padding-right: 5rem; }
.is-wedding .panel-head-inner > :not(#wedding-title),
.is-wedding .panel-head-desc,
.is-wedding .panel-body > :not(.wedding-calculator) { display: none; }
#wedding-title { max-width: 10ch; }
.wedding-calculator { width: 100%; min-width: 0; }
.wedding-form { line-height: 1.4; }
.wedding-form [hidden] { display: none; }
.wedding-form section { border-top: 1px solid currentColor; padding: 1.6rem 0; }
.wedding-form h3 { font-weight: 600; margin-bottom: 1rem; }
.wedding-form h3 span { margin-right: .4rem; }
.wedding-form .wedding-note { font-size: .86em; margin: .7rem 0 1.1rem; }
.wedding-form small { display: block; margin-top: .2rem; font-size: .8em; }
.wedding-packages, .wedding-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.wedding-packages label { padding: 1rem; border: 1px solid currentColor; cursor: pointer; }
.wedding-packages label:has(:checked) { background: #283f1d12; }
.wedding-row, .wedding-total { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .55rem 0; }
.wedding-row > span:last-child { white-space: nowrap; }
.wedding-counter, .wedding-actions { display: flex; gap: .4rem; align-items: center; }
.wedding-form :is(input, select, button) { font: inherit; color: inherit; }
.wedding-form :is(input, select) { accent-color: #283f1d; }
.wedding-form :is(input[type="number"], input[type="date"], input[type="time"], select, button) {
  padding: .4em .55em;
  border: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
}
.wedding-fields :is(input, select) { display: block; width: 100%; min-width: 0; margin-top: .3rem; }
.wedding-form input[type="number"] { width: 4.5em; }
.wedding-counter input { text-align: center; appearance: textfield; }
.wedding-counter input::-webkit-inner-spin-button { appearance: none; }
.wedding-form button { cursor: pointer; min-height: 36px; }
.wedding-form [data-copy] { color: #f2f0e6; background: #283f1d; }
.wedding-form :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.wedding-total { border-top: 1px solid currentColor; margin: .6rem 0; font-size: 1.18em; }
@media (max-width: 550px) {
  .wedding-packages, .wedding-fields { grid-template-columns: 1fr; }
  .wedding-counter input[type="number"] { width: 3em; }
}
.modal-wrap:not(.is-wedding) :is(#wedding-title, .wedding-calculator) { display: none; }
.wedding-form input:is([type="checkbox"], [type="radio"]) {
  appearance: auto;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 .3em 0 0;
  flex: 0 0 auto;
  vertical-align: -.08em;
  cursor: pointer;
}
.wedding-form [data-extra] > label:first-child { flex: 1; }

header .nav[data-v-397eb257] { grid-column: 9 / span 4; }
header .nav .links[data-v-397eb257] {
  flex-flow: row nowrap;
  align-items: center;
  gap: clamp(.25rem, .7vw, 1rem);
  white-space: nowrap;
}
header .nav .links .link[data-v-397eb257] {
  padding: 1rem .6rem;
  text-align: left;
}
header .nav .contact-item[data-v-397eb257] { display: list-item; }

@media (max-width: 1024px) {
  header .nav[data-v-397eb257] { grid-column: 3 / 6; margin-top: -.6rem; }
  header .easter[data-v-397eb257] { grid-column: 6 / 7; padding-left: 0; justify-self: end; }
  header .nav .links .link[data-v-397eb257] { padding: .6rem .4rem; }
}
@media (max-width: 767px) {
  header .nav[data-v-397eb257] { grid-column: 2 / 6; justify-self: center; }
  header .logo-wrapper[data-v-397eb257] { grid-column: 1 / 2; }
  header .nav .links .link[data-v-397eb257] { font-size: clamp(.9rem, 2.8vw, 1.2rem); }
}
/* Keep the central grid slot while the left wordmark carries the branding. */
header a.svg[data-v-397eb257] { visibility: hidden !important; }

.modal-wrap .tab-btn--email[hidden] { display: none; }
.wedding-inquiry .wedding-inquiry-field {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.wedding-inquiry .wedding-inquiry-field > span:not(.line),
.wedding-inquiry .wedding-inquiry-field > span:not(.line) > span {
  color: var(--color-green);
  font-weight: inherit;
}
.wedding-inquiry :is(input, select, textarea) {
  width: 100%;
  min-height: 2.6rem;
  color: var(--color-green);
  font: inherit;
  background: transparent;
}
.wedding-inquiry :is(input, select, textarea):invalid { box-shadow: none; }
.wedding-inquiry :is(input, textarea)::placeholder { color: currentColor; opacity: .72; }
.wedding-inquiry [data-inquiry-fallback][hidden] { display: none; }
.wedding-inquiry-note { margin: 0 0 1.2rem; }
.wedding-inquiry-actions > :is(button, a) {
  display: inline-block;
  margin: .3rem 1.4rem 1.2rem 0;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.wedding-inquiry :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.wedding-inquiry [hidden] { display: none !important; }
.wedding-inquiry [data-estimate-summary] {
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  padding: 1.2rem 0;
  font-weight: 600;
}
.wedding-actions { flex-wrap: wrap; }
.wedding-form [data-continue] { color: #f2f0e6; background: #283f1d; }
.wedding-form [data-continue] + [data-copy] { color: inherit; background: transparent; }

.project-enquiry-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-top: 1px solid currentColor;
  margin-top: 4rem;
  padding: 3.2rem 0 5rem;
}
.project-enquiry-actions button {
  color: inherit;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  text-underline-offset: .2em;
}
.project-enquiry-actions button:hover { text-decoration: underline; }
.project-enquiry-actions button:focus-visible { outline: 2px solid currentColor; outline-offset: .4rem; }
@media (max-width: 767px) {
  .project-enquiry-actions { flex-direction: column; align-items: flex-start; }
}

header.header[data-v-397eb257] {
  height: auto;
  padding-top: 32px;
  padding-bottom: 1.6rem;
}

/* Calculator controls size to their content at every browser zoom level. */
.wedding-calculator { container-type: inline-size; }
.wedding-form,
.wedding-form :is(section, label, input, select, textarea, button),
.wedding-form :is(.wedding-row, .wedding-counter, .wedding-fields, .wedding-packages) {
  box-sizing: border-box;
  min-width: 0;
}
.wedding-form label { font: inherit; line-height: 1.5; }
.wedding-form :is(h3, label, .wedding-note, .wedding-row > span) {
  overflow-wrap: anywhere;
  white-space: normal;
}
.wedding-form .wedding-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem 1.6rem;
}
.wedding-form .wedding-counter {
  display: grid;
  grid-template-columns: 2.5em 4.5em 2.5em;
  gap: .4rem;
  flex-shrink: 0;
}
.wedding-form .wedding-counter :is(input, button) {
  width: 100%;
  min-height: 44px;
  height: auto;
  padding: .35em .25em;
  font: inherit;
  line-height: 1.5;
}
.wedding-form .wedding-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.wedding-form .wedding-fields label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.wedding-form :is(input[type="date"], input[type="time"], input[type="number"], select) {
  font: inherit;
  line-height: 1.5;
  min-height: 44px;
  height: auto;
  max-width: 100%;
}
.wedding-form select { padding-right: 1.8em; }
.wedding-form [data-extra] {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.wedding-form [data-extra] > label:not(:first-child) {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.wedding-form .wedding-total { flex-wrap: wrap; }
.wedding-form .wedding-actions button {
  max-width: 100%;
  height: auto;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
@container (max-width: 420px) {
  .wedding-form .wedding-row,
  .wedding-form [data-extra] { grid-template-columns: minmax(0, 1fr); }
  .wedding-form .wedding-counter { justify-self: start; }
  .wedding-form .wedding-packages { grid-template-columns: minmax(0, 1fr); }
}
/* Let enquiry and calculator content size itself at fractional zoom levels. */
.wedding-inquiry .wedding-inquiry-field {
  min-width: 0;
  height: auto;
  align-items: stretch;
}
.wedding-inquiry .wedding-inquiry-field > span:not(.line),
.wedding-fields > label {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.wedding-inquiry :is(input, select, textarea),
.wedding-fields :is(input, select) {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  height: auto;
  min-height: 2.8em;
  padding: .55em .65em;
  line-height: 1.4;
}
.wedding-inquiry textarea { min-height: 6em; }
.wedding-fields { align-items: start; }
.wedding-fields > label { display: flex; flex-direction: column; }
/* Animated line masks need room for glyphs at fractional pixel boundaries. */
.about-header :is(.subtitle, .desc, .list) { line-height: 1.4; }
.about-header :is(.subtitle, .desc, .list) > div[style*="overflow"] {
  padding-block: .12em;
  margin-block: -.12em !important;
}
.wedding-form [hidden] { display: none !important; }

@container (max-width: 560px) {
  .wedding-form .wedding-fields { grid-template-columns: minmax(0, 1fr); }
}


.wedding-form .wedding-counter button {
  display: grid;
  place-items: center;
  text-align: center;
  padding: 0;
}
.wedding-packages { align-items: stretch; }
.wedding-package-heading { display: flex; align-items: center; gap: .35em; }
.wedding-package-features {
  display: grid;
  gap: .5em;
  margin-top: 1em;
  padding: 0;
  list-style: none;
  font-size: .9em;
  line-height: 1.5;
}
.wedding-package-features li {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: .5em;
  overflow-wrap: anywhere;
}
.wedding-package-features li { position: relative; }
.wedding-package-features li::before {
  content: "";
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border: 1px solid currentColor;
  border-radius: 50%;
  margin-top: calc(.75em - 6px);
}
.wedding-package-features li::after {
  content: "";
  position: absolute;
  left: 3.5px;
  top: calc(.75em - 2.5px);
  width: 5px;
  height: 3px;
  border-left: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(-45deg);
}


.wedding-form,
.wedding-form :is(label, span, strong, small, h3, p, li, input, select, option, button) {
  color: var(--color-green);
}
.wedding-form [data-continue],
.wedding-form [data-copy] {
  color: var(--color-green);
  background: transparent;
}
.wedding-form :is(input, select) { -webkit-text-fill-color: var(--color-green); }
.wedding-inquiry,
.wedding-inquiry :is(label, span, strong, small, h3, p, li, input, select, option, textarea, button, a) {
  color: var(--color-green);
}

.page--project .hero .title[data-v-e278ddf1] {
  text-transform: none;
}

/* Booking and calculator palette from the supplied colour reference. */
.modal-wrap[data-v-564d7e72] {
  --color-green: #582a22;
  --selection-bg: #582a2226;
  --focus-bg: #582a22;
  --focus-color: #bfa9b3;
  color: #582a22;
}
.modal-wrap .panel[data-v-564d7e72],
.is-night .modal-wrap .panel[data-v-564d7e72] {
  background-color: #bfa9b3;
}
.modal-wrap .wedding-packages label:has(:checked) {
  background-color: #582a2212;
}
.modal-wrap .wedding-form :is(input, select) {
  accent-color: currentColor;
}
:is(.wedding-form, .wedding-inquiry) input::-webkit-calendar-picker-indicator {
  background: currentColor;
  mask: var(--estimate-picker-icon) center / contain no-repeat;
  -webkit-mask: var(--estimate-picker-icon) center / contain no-repeat;
}
:is(.wedding-form, .wedding-inquiry) input[type="date"] {
  --estimate-picker-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 10h18'/%3E%3C/svg%3E");
}
:is(.wedding-form, .wedding-inquiry) input[type="time"] {
  --estimate-picker-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
:is(.wedding-form .wedding-fields > label, .wedding-inquiry .wedding-inquiry-field):has(select) {
  position: relative;
}
:is(.wedding-form .wedding-fields, .wedding-inquiry) select {
  appearance: none;
  padding-inline-end: 1.8em;
}
:is(.wedding-form .wedding-fields > label, .wedding-inquiry .wedding-inquiry-field):has(select)::after {
  content: "";
  position: absolute;
  inset-inline-end: .8em;
  bottom: 1.2em;
  width: .45em;
  height: .45em;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
  pointer-events: none;
}
.modal-wrap .paper[data-v-564d7e72] {
  background-image: linear-gradient(#bfa9b3, #bfa9b3), url("/_nuxt/contact_paper_bg_3.l2iqyrfM.jpeg");
  /* Preserve the original paper grain instead of softening it into the base colour. */
  background-blend-mode: color, normal;
  filter: contrast(1.35) brightness(1.05);
  background-color: #bfa9b3;
}

.project-testimonial {
  border-top: 1px solid currentColor;
  padding: clamp(3rem, 8vw, 8rem) 0;
}
.project-testimonial figure,
.project-testimonial blockquote {
  margin: 0;
}
.project-testimonial figure {
  max-width: 48rem;
  margin-top: 1.5rem;
}
.project-testimonial figcaption {
  margin-top: 1.5rem;
}

.error-wordmark {
  display: block;
  font: italic 600 clamp(3.5rem, 14vw, 12rem)/1 Georgia, serif;
  letter-spacing: -.06em;
}

.error-contact {
  max-width: 32ch;
  margin: 1rem auto 0;
  text-align: center;
  font-size: .875rem;
  line-height: 1.5;
}

.error-contact a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .2em;
}

header.header .easter:has(.egg) {
  --theme-wheel-size: 5.8rem;
  padding-inline-end: 1.8rem;
}

header.header .easter .egg {
  top: calc(50% - .6rem);
  right: 0;
  width: var(--theme-wheel-size);
  height: var(--theme-wheel-size);
  z-index: 2;
  transform: scale(.22);
  transform-origin: top right;
  transition: transform 160ms ease-out;
}

header.header .easter .egg:is(:hover, :focus-within, .egg--grabbing),
header.header .easter:focus-within:not(:has(.estaie-booth-shortcut:focus)) .egg {
  transform: scale(1);
}

@media (max-width: 767px) {
  header.header .easter:has(.egg) {
    --theme-wheel-size: 5.2rem;
    padding-inline-end: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  header.header .easter .egg { transition: none; }
}

header .easter .time {
  display: flex;
  align-items: baseline;
  gap: .6rem;
  white-space: nowrap;
}

header .easter .time-time-inner { margin-top: 0; }
header .easter .time-toggle { width: auto; }

@media (max-width: 767px) {
  header.header .cont {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: .25rem;
  }
  header.header .cont > :is(.logo-wrapper, .nav, .easter) { grid-column: auto; }
  header.header .easter { justify-self: end; }
  header.header .time-contact-inner { display: none; }
  header.header .nav .links {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: clamp(.25rem, 1.5vw, .65rem);
    white-space: nowrap;
  }
  header.header .nav .contact-item { display: block; }
  header .easter .time-inner,
  header .easter .time-time-inner,
  header .easter .time-toggle { display: block; }
  header .easter .time { gap: .3rem; }
}

.estaie-contact-details a { color: inherit; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.estaie-contact-video { display: block; width: 100%; height: 100%; object-fit: cover; }
.page--contact:not(.page--menu-preview) .estaie-contact-details {
  padding-bottom: calc(clamp(5rem, 12vh, 10rem) + env(safe-area-inset-bottom, 0px));
}

.estaie-contact-details .estaie-photo-booth-link {
  display: inline-block;
  margin-top: 1.25rem;
  padding: .65em 1em;
  border: 1px solid currentColor;
  text-decoration: none;
}
.estaie-contact-details .estaie-photo-booth-link:is(:hover, :focus-visible) {
  text-decoration: underline;
}

.estaie-booth-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: calc(100% - 6.4rem);
  max-width: none;
  max-height: none;
  height: min(85dvh, 82rem);
  padding: 0;
  border: 0;
  color: #582a22;
  background: linear-gradient(#bfa9b3, #bfa9b3),
    url("/_nuxt/contact_paper_bg_3.l2iqyrfM.jpeg") center / cover;
  background-blend-mode: color, normal;
  box-shadow: 0 16px 70px #211a1840;
}
@media (min-width: 1025px) {
  .estaie-booth-dialog { max-width: 100.2rem; }
}
@media (min-width: 1438px) {
  .estaie-booth-dialog { max-width: 69.68vw; }
}
.estaie-booth-dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.estaie-booth-dialog::backdrop { background: #211a1866; }
html:has(.estaie-booth-dialog[open]) { overflow: hidden; }
.estaie-booth-bar {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .45fr);
  align-items: end;
  gap: 1.6rem;
  padding: clamp(2rem, 4vw, 4rem) clamp(1.6rem, 4vw, 3.2rem) 1.6rem;
}
.estaie-booth-heading h2 {
  margin: 0 0 .6rem;
  font-size: clamp(3rem, 6vw, 7.2rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.045em;
}
.estaie-booth-heading a { text-decoration: underline; text-underline-offset: .2em; }
.estaie-booth-intro {
  margin: 0;
  max-width: 23rem;
  font-size: clamp(1.3rem, 1.5vw, 1.8rem);
  line-height: 1.16;
}
.estaie-booth-bar form {
  position: absolute;
  top: 1rem;
  right: clamp(1.6rem, 4vw, 3.2rem);
}
@media (max-width: 540px) {
  .estaie-booth-bar { align-items: start; padding-top: 3.6rem; }
}
.estaie-booth-bar a {
  color: inherit;
  font: inherit;
}
.estaie-booth-bar button {
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: inherit;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.estaie-booth-bar a:is(:hover, :focus-visible) { text-decoration: underline; }
.estaie-booth-bar button > span { display: inline-block; }
.estaie-booth-bar button > span + span { position: absolute; top: 100%; left: 0; }
@media (prefers-reduced-motion: no-preference) {
  .estaie-booth-bar button > span { transition: transform .4s cubic-bezier(.33, 1, .68, 1); }
  .estaie-booth-bar button:hover > span { transform: translateY(-100%); }
  .estaie-booth-dialog[open].is-closing {
    animation: estaie-booth-slide-out .79s cubic-bezier(.32, 0, .67, 0) both;
  }
  .estaie-booth-dialog[open].is-closing::backdrop {
    animation: estaie-booth-backdrop-in .43s ease-in reverse both;
  }
}
@keyframes estaie-booth-slide-out {
  to { transform: translateY(100%); }
}
.estaie-booth-dialog iframe,
.estaie-memories-view iframe { width: 100%; height: 100%; border: 0; }
.page--contact:has(> .estaie-memories-view) > :not(.estaie-memories-view, header.header, .page-title) { display: none; }
.page--contact:has(> .estaie-memories-view) { padding-top: 0; }
.page--contact:has(> .estaie-memories-view) > header.header { position: absolute; inset: 0 0 auto; }
.estaie-memories-view {
  display: grid;
  grid-template-rows: auto min(29dvh, 33rem);
  align-content: space-between;
  min-height: 100dvh;
  padding: clamp(9rem, 18dvh, 17rem) 0 0;
  background: var(--color-bg);
  color: var(--color-main);
}
.estaie-memories-heading {
  display: grid;
  grid-template-columns: 57.5% 1fr;
  align-items: end;
  gap: 1rem;
  padding-inline: 1.6rem;
}
.estaie-memories-heading h1 {
  margin: 0;
  font-size: clamp(4rem, 6.4vw, 11rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.06em;
  text-transform: lowercase;
}
.estaie-memories-heading p,
.estaie-memories-heading a { font-size: clamp(1rem, .88vw, 1.4rem); text-transform: uppercase; }
.estaie-memories-heading p { margin: 0 0 .7em; }
.estaie-memories-heading a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 480px) {
  .estaie-memories-heading { grid-template-columns: 1fr; gap: 1.6rem; }
}


header.header .estaie-booth-shortcut {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-self: center;
  color: inherit;
}
header.header .estaie-booth-shortcut::before {
  content: "";
  position: absolute;
  inset: -.5rem -.2rem;
}
header.header .estaie-booth-shortcut svg { display: block; width: 1.3rem; height: 1.3rem; }
header.header .estaie-booth-shortcut:hover svg { stroke-width: 1.4; }

@media (prefers-reduced-motion: no-preference) {
  .estaie-booth-dialog[open] {
    animation: estaie-booth-slide-in 1.1s cubic-bezier(.33, 1, .68, 1) both;
  }
  .estaie-booth-dialog[open]::backdrop {
    animation: estaie-booth-backdrop-in .6s cubic-bezier(.33, 1, .68, 1) both;
  }
}
@keyframes estaie-booth-slide-in {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
@keyframes estaie-booth-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.estaie-memories-view:has(iframe.has-expanded-memory) {
  grid-template-rows: auto min(60dvh, 55rem);
}


.estaie-memories-heading :is(h1, .estaie-memories-copy) { overflow: hidden; }
.estaie-memories-heading h1 > span { display: block; }
.estaie-memories-heading :is(h1 > span, .estaie-memories-copy > div) {
  transition: transform .8s cubic-bezier(.33, 1, .68, 1) .5s,
    visibility 0s .5s;
}
.page--contact:is(.is-menu-open, :has(> header .menu-toggle[aria-expanded="true"]))
  .estaie-memories-heading :is(h1 > span, .estaie-memories-copy > div) {
  transform: translateY(100%);
  visibility: hidden;
  transition: transform .34s cubic-bezier(.32, 0, .67, 0), visibility 0s .34s;
}
@media (prefers-reduced-motion: reduce) {
  .estaie-memories-heading :is(h1 > span, .estaie-memories-copy > div) {
    transition: none !important;
  }
}
