/* Retained brand foundation: Bodoni Moda, Pinyon Script, Manrope. */
@import url('/fonts.css');
:root {
  --cream: #f3f0e8;
  --wine: #410c16;
  --ink: #30241e;
  --line: #c7bfb3;
  --serif: 'Bodoni Moda', 'Times New Roman', serif;
  --script: 'Pinyon Script', cursive;
  --sans: 'Manrope', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--wine); font-family: var(--sans); font-size: 16px; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
::selection { background: var(--wine); color: var(--cream); }
p { line-height: 1.7; }
h2 { font-family: var(--serif); font-weight: 400; line-height: 1.15; letter-spacing: -.045em; }
h2 em, .page-title em, .coming-title em { font-family: var(--script); font-weight: 400; letter-spacing: 0; font-size: 1.15em; line-height: 1.25; }
.eyebrow { text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 500; line-height: 1.6; }
.script { font-family: var(--script); font-weight: 400; }
.header { display: flex; align-items: center; justify-content: space-between; }
.brand-small { font-family: var(--serif); white-space: nowrap; }
.brand-small em { font-family: var(--script); font-weight: 400; }
.header nav { display: flex; text-transform: uppercase; }
.header nav a:hover, .footer a:hover { text-decoration: underline; text-underline-offset: 5px; }
.languages { display: flex; align-items: center; }
.languages button { border: 0; background: none; color: inherit; opacity: .5; }
.languages button.active { opacity: 1; text-decoration: underline; text-underline-offset: 5px; }
.number { font-family: var(--serif); line-height: 1; }
.footer { padding: 45px 6% 22px; background: var(--cream); }
.footer-top, .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-top a { font-size: 13px; }
.footer-bottom { font-size: 12px; border-top: 1px solid var(--line); padding: 22px 0 5px; letter-spacing: .03em; }
.wordmark { display: flex; align-items: baseline; justify-content: center; gap: 0; font-family: var(--serif); padding: 55px 0 65px; line-height: 1; white-space: nowrap; }
.wordmark span { font-size: clamp(50px,12vw,220px); letter-spacing: -.08em; }
.wordmark em { font-family: var(--script); font-size: clamp(65px,15vw,260px); font-weight: 400; margin-left: -.06em; transform: rotate(-8deg); letter-spacing: -.06em; }
dialog { color: var(--wine); box-shadow: 0 20px 100px #0005; }
dialog::backdrop { background: #200811d9; }
.dialog-close { display: block; margin: 0 0 20px auto; color: inherit; background: none; border: 0; }
.coming-page {
  background:#38090e;
  color:var(--cream);
  min-height:calc(100vh - 105px);
  text-align:center;
  overflow:hidden
}
.coming-content {
  position:relative;
  padding:45px 5% 35px;
  max-width:1100px;
  margin:auto
}
.coming-title {
  font-family:var(--serif);
  font-size:clamp(40px,4.8vw,78px);
  line-height:1.12;
  letter-spacing:-.04em;
  font-weight:400;
  margin:30px 0 0
}
.gift-open {
  border:0;
  background:none;
  color:inherit;
  display:block;
  position:relative;
  width:min(480px,95%);
  margin:-5px auto 0;
  padding:0;
  transition:transform .9s,opacity .8s
}
.gift-open img {
  width:100%;
  display:block;
  mix-blend-mode:lighten;
  transition:transform .6s
}
.gift-open:hover img {
  transform:rotate(-3deg) scale(1.03)
}
.gift-open span {
  display:block;
  font-size:12px;
  position:absolute;
  bottom:12px;
  left:0;
  right:0;
  letter-spacing:.03em
}
.save-date .script {
  font-size:32px
}
.save-date p {
  font-size:11px;
  margin:5px 0 25px
}
.coming-skip {
  font-size:11px;
  text-decoration:underline;
  text-underline-offset:5px
}
.gift-reveal {
  position:absolute;
  top:39%;
  left:5%;
  right:5%;
  opacity:0;
  transform:scale(.92);
  pointer-events:none;
  transition:opacity .8s .5s,transform .8s .5s
}
.gift-reveal .wordmark {
  padding:30px 0
}
.gift-reveal .wordmark span {
  font-size:clamp(45px,8vw,120px)
}
.gift-reveal .wordmark em {
  font-size:clamp(60px,10vw,160px)
}
.unwrapping .gift-open {
  transform:scale(1.12) translateY(40px);
  opacity:0;
  pointer-events:none
}
.unwrapping .gift-reveal {
  opacity:1;
  transform:scale(1)
}
.coming-content>.eyebrow {
  font-size:10px
}

@media (max-width:600px) {
  .footer-top { align-items: flex-start; flex-direction: column; gap: 5px; }
  .footer-bottom { display: grid; grid-template-columns: 1fr 1fr; font-size: 10px; gap: 16px; }
  .wordmark span { font-size: 13vw; }
  .wordmark em { font-size: 18vw; }
  .coming-title { font-size: 40px; }
  .gift-open { width: min(380px,100%); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
