:root{
  --void:#0a0704;
  --void-deep:#050302;
  --bronze:#241608;
  --bronze-soft:#3a260f;
  --gold-hi:#f6d47a;
  --gold:#d9a441;
  --gold-deep:#9c6c1f;
  --cream:#f2e7cf;
  --cream-dim:#c9bda3;
  --line: rgba(217,164,65,0.22);
}

*{ box-sizing:border-box; }

html,body{
  margin:0;
  padding:0;
  background:var(--void);
  color:var(--cream);
  font-family:'Jost', sans-serif;
  overflow-x:hidden;
  height:100%;
}

body{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ---------- background atmosphere ---------- */
.void-bg{
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse 60% 45% at 50% 38%, rgba(158,108,31,0.35), transparent 70%),
    radial-gradient(ellipse 100% 60% at 50% 100%, rgba(58,38,15,0.6), transparent 70%),
    var(--void-deep);
  z-index:0;
}

.stars, .stars2{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
}

/* ---------- signature: breathing galaxy rings behind content ---------- */
.galaxy-wrap{
  position:fixed;
  top:50%;
  left:50%;
  width:min(140vw,1400px);
  height:min(140vw,1400px);
  transform:translate(-50%,-50%);
  z-index:1;
  pointer-events:none;
  opacity:0.55;
}

.galaxy-ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid var(--line);
  animation:spin 140s linear infinite;
}
.galaxy-ring.r2{ inset:8%; border-color:rgba(217,164,65,0.14); animation-duration:100s; animation-direction:reverse; }
.galaxy-ring.r3{ inset:18%; border-color:rgba(217,164,65,0.10); animation-duration:180s; }

.galaxy-glow{
  position:absolute;
  inset:22%;
  border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0%, rgba(217,164,65,0.16) 18%, transparent 40%, rgba(246,212,122,0.10) 60%, transparent 82%);
  filter:blur(18px);
  animation:spin 90s linear infinite;
}

@keyframes spin{ to{ transform:rotate(360deg); } }

/* ---------- content ---------- */
.stage{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:9vh 6vw 8vh;
  max-width:640px;
}

.mark{
  width:148px;
  height:148px;
  margin-bottom:24px;
  position:relative;
  animation:rise 1.2s cubic-bezier(.16,1,.3,1) both, breathe 6s ease-in-out 1.2s infinite;
}
.mark img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  filter: drop-shadow(0 0 30px rgba(217,164,65,0.5)) drop-shadow(0 0 60px rgba(217,164,65,0.25));
}

@keyframes breathe{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.025); }
}

.eyebrow{
  font-family:'Jost', sans-serif;
  font-weight:500;
  font-size:12px;
  letter-spacing:0.42em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 22px;
  animation:rise 1.2s .1s cubic-bezier(.16,1,.3,1) both;
}

.eyebrow::before,.eyebrow::after{
  content:'';
  display:inline-block;
  width:26px;
  height:1px;
  background:var(--gold-deep);
  vertical-align:middle;
  margin:0 10px 3px;
}

h1{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  font-size:clamp(2.6rem, 7vw, 4.6rem);
  line-height:1.08;
  letter-spacing:0.01em;
  margin:0 0 22px;
  background:linear-gradient(180deg, var(--gold-hi) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:rise 1.2s .18s cubic-bezier(.16,1,.3,1) both;
}

h1 em{
  font-style:italic;
  font-weight:400;
  color:var(--cream);
  background:none;
  -webkit-text-fill-color:var(--cream);
}

.lede{
  font-size:17px;
  line-height:1.7;
  color:var(--cream-dim);
  max-width:460px;
  margin:0 0 44px;
  font-weight:300;
  animation:rise 1.2s .26s cubic-bezier(.16,1,.3,1) both;
}

.lede b{ color:var(--cream); font-weight:500; }

form{
  display:flex;
  gap:10px;
  width:100%;
  max-width:420px;
  margin:0 0 20px;
  animation:rise 1.2s .34s cubic-bezier(.16,1,.3,1) both;
}

input[type="email"]{
  flex:1;
  min-width:0;
  background:rgba(36,22,8,0.55);
  border:1px solid var(--line);
  border-radius:2px;
  padding:15px 16px;
  font-family:'Jost', sans-serif;
  font-size:14px;
  color:var(--cream);
  outline:none;
  transition:border-color .25s ease, background .25s ease;
}
input[type="email"]::placeholder{ color:rgba(242,231,207,0.4); }
input[type="email"]:focus{ border-color:var(--gold); background:rgba(36,22,8,0.85); }
input[type="email"]:focus-visible{ outline:2px solid var(--gold-hi); outline-offset:2px; }

button{
  flex-shrink:0;
  border:1px solid var(--gold-deep);
  background:linear-gradient(180deg, var(--gold-hi), var(--gold));
  color:#241608;
  font-family:'Jost', sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  padding:15px 22px;
  border-radius:2px;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
button:hover{ filter:brightness(1.08); box-shadow:0 6px 24px rgba(217,164,65,0.35); }
button:active{ transform:translateY(1px); }
button:focus-visible{ outline:2px solid var(--gold-hi); outline-offset:3px; }

.note{
  font-size:12px;
  color:rgba(201,189,163,0.55);
  letter-spacing:0.02em;
  margin:0 0 56px;
  min-height:16px;
  animation:rise 1.2s .4s cubic-bezier(.16,1,.3,1) both;
}

.footer{
  display:flex;
  align-items:center;
  gap:16px;
  animation:rise 1.2s .48s cubic-bezier(.16,1,.3,1) both;
}

.footer .rule{
  width:64px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-deep));
}
.footer .rule.right{ background:linear-gradient(90deg, var(--gold-deep), transparent); }

.footer .wordmark{
  font-family:'Cormorant Garamond', serif;
  font-size:13px;
  letter-spacing:0.3em;
  color:var(--gold);
}

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}

@keyframes rise{
  from{ opacity:0; transform:translateY(14px); }
  to{ opacity:1; transform:translateY(0); }
}

@keyframes twinkle{ 0%,100%{ opacity:.15; } 50%{ opacity:.9; } }

@media (max-width:480px){
  form{ flex-direction:column; }
  button{ width:100%; }
}

@media (prefers-reduced-motion: reduce){
  .galaxy-ring, .galaxy-glow{ animation:none; }
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; }
}
