@font-face{font-family:"ES Script";src:url("assets/fonts/ESScript-ThinLush.otf") format("opentype");font-display:swap;font-style:normal;font-weight:300}
@font-face{font-family:"ES Serif";src:url("assets/fonts/ESSerif-Regular.otf") format("opentype");font-display:swap;font-style:normal;font-weight:400}

:root{--paper:#f8f8f5;--card:#f4f0eb;--ink:#0a0a0a;--muted:#675f58;--line:#aaa39c;--line-dark:rgba(255,255,255,.28);--serif:"ES Serif","Times New Roman",serif;--script:"ES Script","Snell Roundhand",cursive}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body.form-open{overflow:auto}
img{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-10000px;top:auto}
.skip-link:focus{z-index:1000;left:16px;top:16px;padding:10px 14px;background:var(--ink);color:#fff}

.site-header{position:relative;z-index:10;min-height:88px;display:flex;align-items:center;justify-content:center;padding:8px 24px 6px;background:rgba(248,248,245,.99);border-top:1px solid #cbc9c1;border-bottom:1px solid #cbc9c1}
.header-brand{display:block;width:118px;line-height:0}
.header-brand img{width:100%;height:auto}

.launch-page{position:relative;isolation:isolate;display:grid;min-height:calc(100svh - 88px);place-items:center;overflow:hidden;padding:clamp(48px,7vh,76px) 24px}
.launch-background{position:absolute;inset:0;z-index:-1}
.launch-background,.launch-background img{display:block;width:100%;height:100%}
.launch-background img{object-fit:cover;object-position:center}

.waitlist-panel{width:min(680px,calc(100vw - 48px));background:rgba(244,240,235,.97);box-shadow:0 24px 80px rgba(39,27,20,.14);text-align:center}
.invite-panel{padding:clamp(44px,5.2vw,68px) clamp(30px,6vw,78px) clamp(40px,4.6vw,58px)}
.opening-script{margin:0 0 22px;font-family:var(--script);font-size:clamp(3rem,4vw,4rem);font-weight:300;line-height:.9;white-space:nowrap}
h1{margin:0;font-size:clamp(1.3rem,2vw,1.9rem);font-weight:400;line-height:1.05;letter-spacing:.025em;text-transform:uppercase}
.waitlist-copy{max-width:470px;margin:18px auto 30px;color:var(--muted);font-size:clamp(.95rem,1.35vw,1.08rem);line-height:1.45}
.primary-action,.submit-action{min-height:56px;width:100%;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;transition:background .2s,color .2s}
.primary-action:hover,.primary-action:focus-visible,.submit-action:hover,.submit-action:focus-visible{background:transparent;color:var(--ink);outline:0}

.expanded-panel{position:relative;padding:40px clamp(28px,5vw,58px) 34px;text-align:left}
.back-button{position:absolute;top:20px;left:22px;border:0;border-bottom:1px solid currentColor;padding:2px 0;background:transparent;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}
.form-script{margin:10px 0 14px;text-align:center;font-family:var(--script);font-size:clamp(2.65rem,4vw,3.6rem);font-weight:300;line-height:1;white-space:nowrap}
.form-heading{margin:0;text-align:center;font-size:clamp(1.35rem,2.25vw,1.9rem);font-weight:400;line-height:1.08;letter-spacing:.035em;text-transform:uppercase}
.form-intro{max-width:460px;margin:17px auto 27px;text-align:center;color:var(--muted);font-size:.96rem;line-height:1.45}
.vip-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px;text-align:left}
.field-full{grid-column:1/-1}
.field label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.field label span{letter-spacing:.05em;text-transform:none;color:var(--muted)}
.field input{width:100%;height:50px;border:1px solid var(--line);border-radius:0;background:#fff;padding:0 14px;outline:0}
.field input:focus{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.consent-row{grid-column:1/-1;display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;text-align:left;color:var(--muted);font-size:.77rem;line-height:1.4}
.consent-row input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink)}
.submit-action{grid-column:1/-1;margin-top:2px}
.submit-action:disabled{cursor:wait;opacity:.65}
.form-status{grid-column:1/-1;min-height:20px;margin:0;text-align:center;color:var(--muted);font-size:.82rem}
.form-status.is-error{color:#8d241e}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.success-panel{padding:clamp(60px,8vw,92px) clamp(30px,6vw,78px)}
.success-panel .opening-script{font-size:clamp(2.7rem,4vw,3.75rem)}
.success-panel h2{margin:0;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:400;text-transform:uppercase}
.success-panel p:last-child{max-width:430px;margin:19px auto 0;color:var(--muted)}

.site-footer{background:var(--ink);color:#fff;padding:clamp(58px,8vw,92px) 24px 32px}
.footer-inner{width:min(100%,1280px);margin-inline:auto}
.footer-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding-bottom:clamp(42px,6vw,70px)}
.footer-logo{width:min(225px,70vw);height:auto;filter:invert(1)}
.footer-address{margin:0;color:rgba(255,255,255,.72);font-size:.88rem;line-height:1.55;text-align:center;text-transform:uppercase;letter-spacing:.02em}
.footer-coming-soon{justify-self:end;display:grid;gap:.55rem;text-align:right;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.footer-coming-soon a{text-decoration:none;color:rgba(255,255,255,.72)}
.footer-coming-soon a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid var(--line-dark);padding-top:1.25rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:rgba(255,255,255,.6);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}

@media(max-width:700px){
  .site-header{min-height:82px;padding-inline:16px}
  .header-brand{width:108px}
  .launch-page{min-height:calc(100svh - 82px);padding:38px 18px}
  .launch-background img{object-position:center}
  .waitlist-panel{width:min(100%,470px)}
  .invite-panel{padding:44px 24px 34px}
  .opening-script{font-size:2.3rem;line-height:1;margin-bottom:18px}
  h1{font-size:1.38rem}
  .waitlist-copy{margin:16px auto 25px;font-size:.96rem}
  .expanded-panel{padding:54px 24px 27px}
  .form-script{font-size:2.45rem;margin-top:4px;margin-bottom:12px}
  .form-heading{font-size:1.45rem}
  .vip-form{grid-template-columns:1fr;gap:15px}
  .field,.field-full,.consent-row,.submit-action,.form-status{grid-column:1}
  .footer-top{grid-template-columns:1fr;text-align:center;justify-items:center}
  .footer-coming-soon{justify-self:center;text-align:center}
  .footer-bottom{justify-content:center;text-align:center}
}
@media(max-width:390px){
  .launch-page{padding-inline:12px}
  .invite-panel{padding-inline:18px}
  .opening-script{font-size:2.15rem}
  .expanded-panel{padding-inline:18px}
  .form-script{font-size:2.2rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
