/* The homepage invitation shares the House's envelope, seal and type scale. */
.home-invitation{
  width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);
  margin:auto;padding:0;overflow:hidden;background:transparent;color:var(--espresso);
}
.home-invitation::backdrop{background:rgba(31,18,12,.62);backdrop-filter:blur(9px);}
.home-invitation[open]{animation:home-invitation-arrive .55s cubic-bezier(.22,1,.36,1) both;}
.home-invitation-scroll{
  max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#ad8a72 transparent;padding:70px 24px 24px;
}
.home-invitation-close{
  position:absolute;z-index:10;right:8px;top:8px;width:44px;height:44px;
  display:grid;place-items:center;border:1px solid #74574355;border-radius:50%;
  background:var(--porcelain);color:var(--espresso);font:300 28px/1 "House Sans",sans-serif;
}
.home-invitation-close:hover{background:var(--linen);}
.home-invitation-close:focus-visible{outline:2px solid var(--espresso);outline-offset:3px;}
.home-invitation .envelope-trigger:focus-visible{
  outline:2px solid var(--porcelain);outline-offset:5px;
}
.home-invitation .invitation-object{max-width:none;}
.home-invitation .envelope-trigger,
.home-invitation .invitation-object.is-open .envelope-trigger{
  height:auto;aspect-ratio:2/1;margin:48px 0 58px;
}
.home-invitation .envelope-paper .wordmark{font-size:clamp(22px,4vw,32px);}
.home-invitation .invitation-object.is-open .envelope-paper{transform:translateY(-48px);}
.home-invitation .envelope-label{bottom:-54px;}
.home-invitation.is-revealed .home-invitation-envelope{display:none;}
.home-invitation.is-revealed .home-invitation-scroll{padding:0;}
.home-invitation .invitation-letter{padding:48px 48px 32px;box-shadow:none;}
.home-invitation .invitation-letter>.eyebrow{margin:0 48px 12px 0;}
.home-invitation .invitation-letter h2{font-size:var(--type-section);line-height:1.08;letter-spacing:-.025em;margin:0 0 20px;}
.home-invitation .invitation-letter h2:focus{outline:none;}
.home-invitation .invitation-letter p:not(.eyebrow){font-size:var(--type-body);line-height:1.65;}
.home-invitation .house-form{margin-top:24px;}
.home-invitation .form-field{margin-bottom:16px;}
.home-invitation .form-field input{font-size:16px;}
.home-invitation .form-submit{margin-top:22px;}
.home-invitation .invitation-success{padding-top:12px;}
@keyframes home-invitation-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){
  .home-invitation{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);}
  .home-invitation-scroll{max-height:calc(100dvh - 24px);padding:58px 10px 16px;}
  .home-invitation .envelope-trigger,
  .home-invitation .invitation-object.is-open .envelope-trigger{margin:36px 0 58px;}
  .home-invitation .invitation-object.is-open .envelope-paper{transform:translateY(-34px);}
  .home-invitation .envelope-paper .wordmark{font-size:21px;}
  .home-invitation .invitation-letter{padding:58px 24px 24px;}
  .home-invitation .invitation-letter h2{font-size:2.5rem;}
  .home-invitation .invitation-letter>.eyebrow{margin-right:0;}
}
.motion-paused .home-invitation,
.motion-paused .home-invitation .invitation-letter{animation:none;}
.motion-paused .home-invitation :is(.envelope-trigger,.envelope-paper,.envelope-flap,.envelope-seal){transition:none;}
@media(prefers-reduced-motion:reduce){
  .home-invitation,.home-invitation .invitation-letter{animation:none;}
  .home-invitation :is(.envelope-trigger,.envelope-paper,.envelope-flap,.envelope-seal){transition:none;}
}
@media print{.home-invitation{display:none!important;}}
