@font-face{font-family:'DM Sans';src:url('/assets/dm-sans.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Epilogue;src:url('/assets/epilogue.woff2') format('woff2');font-weight:900;font-display:swap}
:root{font-family:'DM Sans',Arial,sans-serif;font-synthesis:none;color:#080909;background:#f0eefa;--purple:#6737ed}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
.landing{position:relative;min-height:100svh;isolation:isolate;overflow:hidden;padding-top:6.54vw}
.wordmark{width:22vw;max-width:390px;margin:0 auto}.wordmark img{display:block;width:100%;height:auto}
.intro{margin:0 auto;width:40vw;text-align:center}.tag{display:inline-flex;align-items:center;border-radius:100px;background:#f7f8fa;padding:8px 12px;font-size:14px;line-height:1.2;white-space:nowrap}
h1,h2{font-family:Epilogue,Arial,sans-serif;font-weight:900;letter-spacing:-.055em;margin:24px 0 0;line-height:1.12}h1{font-size:clamp(30px,2.55vw,49px)}.accent{color:var(--purple)}.description{font-size:clamp(16px,1.12vw,20px);line-height:1.55;margin:18px auto 0;max-width:38ch}.instagram{position:absolute;left:7vw;top:6.54vw;display:inline-flex;align-items:center;gap:9px;font-size:14px;min-height:44px;margin-top:25px}.instagram svg{width:23px;height:23px}.instagram:hover{color:var(--purple)}
.contact{position:absolute;left:72vw;top:6.54vw;width:23vw;max-width:380px}h2{font-size:clamp(24px,1.85vw,35px);letter-spacing:-.05em;max-width:17ch}form{margin-top:25px}.email-label{display:block;font-size:14px;margin-bottom:8px}input[type=email]{display:block;width:100%;min-height:54px;padding:14px 16px;border:1px solid #b6b3c5;border-radius:10px;background:#ffffffb8;color:#080909;font-size:16px}input::placeholder{color:#777184}button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:10px;background:#080909;color:white;min-height:54px;padding:14px 18px;margin-top:10px;cursor:pointer;font-size:16px;transition:background .2s,transform .2s}button:hover{background:var(--purple);transform:translateY(-1px)}button:disabled{opacity:.65;cursor:wait}button span{font-size:24px;line-height:1}#form-help{font-size:14px;line-height:1.5;color:#5b5666;margin:14px 0 18px}.consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.4;color:#5b5666;cursor:pointer}.consent input{flex-shrink:0;margin:2px 0 0;width:16px;height:16px;accent-color:var(--purple)}.form-status{font-size:14px;line-height:1.4;margin:12px 0 0}.form-status:empty{display:none}
.mascot{position:absolute;inset:0;z-index:-1;pointer-events:none}.mascot video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(min-width:701px) and (max-width:1050px){.intro{margin:0 auto;width:36vw}.contact{left:69vw;width:27vw}.tag{font-size:12px;padding:7px 9px}h1{font-size:27px}h2{font-size:23px}.description{font-size:16px}.landing{min-height:max(800px,100svh)}}
@media(max-width:700px){:root{background:#f0eefa}.landing{display:flex;flex-direction:column;min-height:100svh;padding:30px 24px 0;background:#f0eefa;gap:30px}.wordmark{width:240px;max-width:100%;margin:0 auto 30px}.intro{margin:0;width:100%;order:1}.tag{font-size:13px;padding:7px 11px}h1{font-size:clamp(31px,8.5vw,48px);max-width:18ch;margin:19px auto 0}.description{font-size:16px;max-width:34ch;margin-top:18px}.instagram{position:static;margin-top:12px}.contact{position:static;width:100%;max-width:none;order:2}.contact>.tag{display:none}h2{font-size:25px;max-width:20ch;margin-top:0}form{margin-top:20px}input[type=email],button{min-height:54px}#form-help{max-width:36ch}.mascot{position:relative;inset:auto;order:3;z-index:auto;flex:none;align-self:center;width:calc(100% + 48px);aspect-ratio:4/3;margin-top:-14px}.consent{font-size:13px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

@media(min-width:701px){.mascot video{transform:translateY(clamp(80px,12vh,140px))}}

@media(min-width:701px){.intro{width:90vw;margin:0 auto}.intro h1{font-size:clamp(24px,2.55vw,49px);white-space:nowrap}.description{max-width:none;white-space:nowrap}.contact{top:clamp(285px,23vw,390px)}}

/* Keep the contact action directly beneath the promise. */
@media(min-width:701px){
 .instagram{left:auto;right:5vw;top:32px;margin-top:0}
 .contact{position:relative;left:auto;top:auto;width:min(520px,80vw);max-width:none;margin:26px auto 0;text-align:center}
 .contact form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0;text-align:left}
 .email-label{grid-column:1/-1;margin-bottom:0}
 .contact button{width:auto;margin:0;gap:28px;white-space:nowrap}
 #form-help{grid-column:1/-1;text-align:center;margin:2px 0 0;font-size:13px}
 .form-status{grid-column:1/-1;text-align:center}
 .mascot video{transform:translateY(clamp(190px,25vh,270px))}
}
@media(max-width:700px){
 .landing{padding-top:82px}
 .instagram{position:absolute;top:18px;right:24px;left:auto;margin:0}
 .contact{margin:0 auto;max-width:440px;text-align:center}
 .contact form{margin-top:0}
 .email-label{text-align:left}
 #form-help{margin-left:auto;margin-right:auto}
}



/* Consistent spacing rhythm for the centered introduction. */
.landing{padding-top:clamp(40px,5vw,80px)}
.wordmark{transform:none;margin:0 auto}
.intro h1{margin:32px auto 0}
.description{margin:16px auto 0}
.contact{margin:32px auto 0}
.contact form{gap:12px}
#form-help{margin-top:4px}
@media(max-width:700px){
 .landing{padding-top:80px;gap:0}
 .intro h1{margin-top:24px}
 .contact{margin-top:24px}
 .contact button{margin-top:12px}
 #form-help{margin-top:12px}
 .mascot{margin-top:24px}
}

@media(max-width:700px){
 .mascot{background:#f0eefa;overflow:hidden}
 .mascot video{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 76%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 76%,transparent 100%);
 }
}

.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.form-status[data-state="error"]{color:#9b2030}
.form-status[data-state="success"]{color:#245439}
