/* Newhaven Tap handwritten homepage introduction */
.nt-intro-open{overflow:hidden}
.nt-intro{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#f4efe6;
  color:#11110f;
}
.nt-intro[hidden]{display:none}
.nt-intro::after{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(17,17,15,.11);
  pointer-events:none;
}
.nt-intro__skip{
  position:absolute;
  z-index:2;
  top:25px;
  right:28px;
  border:0;
  border-bottom:1px solid currentColor;
  background:transparent;
  padding:4px 0;
  color:#6b665d;
  font:700 .68rem/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}
.nt-intro__skip:focus-visible{outline:2px solid #b7432b;outline-offset:6px}
.nt-intro__lockup{
  position:relative;
  display:flex;
  flex-direction:column;
  transform:rotate(-2deg);
  font-family:"Segoe Script","Brush Script MT","Snell Roundhand","URW Chancery L",cursive;
  font-size:clamp(4.2rem,12vw,10rem);
  font-weight:400;
  line-height:.73;
}
.nt-intro__lockup span{
  display:block;
  white-space:nowrap;
  clip-path:inset(0 100% 0 0);
}
.nt-intro__tap{
  align-self:flex-end;
  margin-right:.12em;
  padding:.12em .12em .12em 0;
  color:#b7432b;
}
.nt-intro__flourish{
  position:absolute;
  right:0;
  bottom:-.12em;
  width:52%;
  height:2px;
  background:#c99b55;
  transform:scaleX(0) rotate(-2deg);
  transform-origin:left;
}
.nt-intro__caption{
  position:absolute;
  bottom:9vh;
  margin:0;
  color:#6b665d;
  font:700 clamp(.58rem,1vw,.75rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing:.24em;
  text-align:center;
  text-transform:uppercase;
  opacity:0;
}
.nt-intro.is-playing .nt-intro__newhaven{animation:nt-write 1.05s cubic-bezier(.55,.05,.3,1) .15s forwards}
.nt-intro.is-playing .nt-intro__tap{animation:nt-write .68s cubic-bezier(.55,.05,.3,1) 1.05s forwards}
.nt-intro.is-playing .nt-intro__flourish{animation:nt-draw .55s ease 1.55s forwards}
.nt-intro.is-playing .nt-intro__caption{animation:nt-soft-in .6s ease 1.85s forwards}
.nt-intro.is-leaving{animation:nt-leave .8s cubic-bezier(.65,0,.25,1) forwards}
@keyframes nt-write{to{clip-path:inset(0 0 0 0)}}
@keyframes nt-draw{to{transform:scaleX(1) rotate(-2deg)}}
@keyframes nt-soft-in{to{opacity:1}}
@keyframes nt-leave{to{transform:translateY(-102%);border-radius:0 0 50% 50%}}
@media(max-width:620px){
  .nt-intro__lockup{font-size:clamp(4rem,20vw,7rem)}
  .nt-intro__caption{bottom:8vh;width:84%;line-height:1.55}
}
@media(prefers-reduced-motion:reduce){
  .nt-intro__lockup span{clip-path:inset(0 0 0 0)}
  .nt-intro__flourish{transform:scaleX(1) rotate(-2deg)}
  .nt-intro__caption{opacity:1}
  .nt-intro.is-playing .nt-intro__newhaven,
  .nt-intro.is-playing .nt-intro__tap,
  .nt-intro.is-playing .nt-intro__flourish,
  .nt-intro.is-playing .nt-intro__caption{animation:none}
  .nt-intro.is-leaving{animation:nt-reduced-leave .25s ease forwards}
}
@keyframes nt-reduced-leave{to{opacity:0}}
