@font-face{font-family:'Great Vibes';src:url(fonts/great-vibes.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url(fonts/cormorant.woff2) format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:'DM Sans';src:url(fonts/dm-sans.woff2) format('woff2');font-weight:100 1000;font-display:swap}
/* Palette from the original brand.css. All artwork is the supplied logo or code. */
:root{--night:#24163e;--gold:#d5aa42;--glow:#ffe5a4;--ivory:#fcfaf7;--ink:#291d3f;--line:#ded5e4;--purple:#291844}
*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.75 'DM Sans',sans-serif}
h1,p{margin:0}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit;text-underline-offset:5px}
button:focus-visible,a:focus-visible{outline:2px solid #97702c;outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#page{min-height:100svh;display:grid;place-items:center;padding:64px 24px;background:radial-gradient(ellipse at 50% 24%,#f1e9dc70,transparent 48%),radial-gradient(ellipse at 50% 100%,#ede6f05c,transparent 65%)}
.welcome{width:100%;max-width:650px;text-align:center}
.logo{display:block;width:126px;height:126px;object-fit:contain;margin:0 auto 36px}
h1{font:500 clamp(40px,4.5vw,62px)/1.03 Cormorant,Georgia,serif;letter-spacing:-.028em}
h1 span{display:block}
h1:focus{outline:none}
.soon{font-size:14px;line-height:1.7;margin-top:21px;color:#6b6273}
.settled-line{position:relative;width:142px;height:22px;margin:28px auto 23px;color:#99762e;font:24px/22px Cormorant,serif}
.settled-line:before,.settled-line:after{content:'';position:absolute;top:11px;width:54px;height:1px;background:linear-gradient(90deg,transparent,#c4a66b80)}
.settled-line:before{left:0}.settled-line:after{right:0;transform:rotate(180deg)}
.contact{font-size:12px;letter-spacing:.015em;color:#6b6273}
.contact a{display:inline-block;padding:6px 2px;min-height:44px;font-size:14px;letter-spacing:0;color:var(--purple);text-decoration-color:#b6a3c0}
.contact a:hover{text-decoration-color:var(--purple)}
.replay{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:24px;padding:8px 14px;border:0;background:transparent;color:#76697e;font-size:12px}
.replay span{font-size:18px;line-height:1}.replay:hover{color:var(--purple)}
#settled-motes{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}
.intro-active body{overflow:hidden}
.intro-active .logo,.intro-active .message,.intro-active .settled-line,.intro-active .contact,.intro-active .replay{opacity:0}
.intro-active .logo{opacity:var(--logo-reveal,0)}
.intro-active .message{opacity:var(--message-reveal,0)}
.intro-active .settled-line,.intro-active .contact{opacity:var(--contact-reveal,0)}
.intro-active .replay{opacity:var(--replay-reveal,0)}
.magic-intro{display:none;position:fixed;inset:0;z-index:100;background:#000;overflow:hidden;color:#e8cb87}
.intro-active .magic-intro{display:block}
.magic-intro[hidden]{display:none!important}
#magic-canvas{display:block;width:100%;height:100%}
#skip-intro{position:absolute;bottom:30px;right:5.5%;padding:12px 0;border:0;border-bottom:1px solid #c1a36580;background:transparent;color:#d8c18d;font-size:12px;min-height:44px}
#skip-intro span{margin-left:15px}
.magic-intro[data-stage=settling] #skip-intro{color:#69522c;border-color:#9b7d4880}
.intro-caption{position:absolute;left:20px;right:20px;top:65%;text-align:center;font-size:12px;letter-spacing:.06em;color:#b39c68;opacity:0;transition:opacity .8s}
.magic-intro[data-stage=holding] .intro-caption{opacity:1}
@media(max-width:650px){
  #page{padding:48px 22px}
  .logo{width:116px;height:116px;margin-bottom:34px}
  h1{font-size:43px}
  .soon{font-size:13px;margin-top:18px}
  .settled-line{margin-top:27px;margin-bottom:20px}
  .contact{font-size:11px}
  .contact a{font-size:14px}
  .replay{margin-top:21px}
  #skip-intro{bottom:22px;right:6%;font-size:11px}
  .intro-caption{top:61%;font-size:10px;letter-spacing:.025em}
}
@media(max-width:360px){h1{font-size:37px}.contact{font-size:11px}}
@media(max-height:620px){#page{padding-block:28px}.logo{width:88px;height:88px;margin-bottom:22px}.settled-line{margin-block:16px}.replay{margin-top:10px}}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important}
  .magic-intro,#settled-motes{display:none!important}
  .intro-active body{overflow:auto}
  .intro-active .logo,.intro-active .message,.intro-active .settled-line,.intro-active .contact,.intro-active .replay{opacity:1}
}
