/* Production editorial styling for the Another You and Another Me waitlist. */
:root {
  color-scheme: light;
  --black: #141316;
  --cream: #f6f0e6;
  --pink: #ff5b8e;
  --body-left: #a62655;
  --body-right: #6538ad;
  --wave: #f6f0e6;
  --action: #ffb1c8;
  --accent-surface: #ffb1c8;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--black); color: var(--black); font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; }
button, input { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.landing { min-height: 100vh; overflow: hidden; background: var(--cream); position: relative; }
.hero-copy { min-height: 106px; display: grid; grid-template-columns: minmax(0, 245px); align-items: center; justify-content: center; padding: 20px clamp(22px, 4vw, 64px) 26px; position: relative; z-index: 2; }
.kicker { margin: 0 0 17px; font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
h1, h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: -.065em; }
.primary-cta, .submit { border: 1px solid var(--black); background: var(--action); color: var(--black); display: flex; align-items: center; justify-content: space-between; font-weight: 800; }
.primary-cta { width: 100%; height: 57px; padding: 0 18px; transition: .15s; }
.cta-minimal { border: 0; border-bottom: 2px solid var(--black); background: transparent; }
.primary-cta:hover { transform: translate(3px,3px); box-shadow: 4px 4px 0 var(--black); }
.cta-minimal:hover { box-shadow: none; }
.primary-cta b, .submit b { font-size: 21px; }

.signal-stage { position: relative; z-index: 1; width: 100%; height: 315px; overflow: hidden; background: var(--pink); border-bottom: 1px solid var(--black); }
.scene-title { position: absolute; z-index: 5; inset: 0; color: var(--cream); font-family: "Courier New", Courier, monospace; font-size: 27px; font-weight: 700; letter-spacing: .06em; line-height: .88; text-transform: uppercase; pointer-events: none; }
.scene-name { position: absolute; top: 25px; display: block; width: 150px; text-align: center; }
.scene-name span { display: block; }
.scene-name-left { left: calc(50% - 165px); }
.scene-name-right { left: calc(50% + 15px); }
.scene-title small { position: absolute; top: 38px; left: 50%; transform: translateX(-50%); font: 700 31px/1 "Courier New", Courier, monospace; letter-spacing: 0; }
.scene-subtitle { position: absolute; z-index: 5; top: 86px; left: 50%; margin: 0; transform: translateX(-50%); color: var(--cream); font: 700 12px/1 "Courier New", Courier, monospace; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.person { --body: var(--body-left); position: absolute; z-index: 2; color: var(--body); }
.person-left { --body: var(--body-left); top: 105px; left: calc(50% - 168px); width: 116px; height: 520px; }
.person-right { --body: var(--body-right); top: 135px; left: calc(50% + 55px); width: 110px; height: 490px; }
.body-shape { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; fill: currentColor; stroke: var(--black); stroke-width: 1px; vector-effect: non-scaling-stroke; }
.face { position: absolute; z-index: 2; left: 50%; border: 1px solid var(--black); background: var(--cream); }
.face.one { top: 18px; width: 95px; height: 140px; border-radius: 48% 48% 18% 22% / 34% 38% 55% 58%; transform: translateX(-50%) rotate(-5deg); }
.face.two { top: 24px; width: 91px; height: 138px; border-radius: 44% 55% 25% 18% / 31% 35% 60% 55%; transform: translateX(-50%) rotate(6deg); }
.face::before, .face::after { content: ""; position: absolute; width: 8px; height: 8px; border: 1px solid var(--black); border-radius: 50%; top: 42%; background: var(--body); }
.person-left .face::before { left: 26%; }
.person-left .face::after { left: 61%; }
.person-right .face::before { right: 26%; }
.person-right .face::after { right: 61%; }
.signal { position: absolute; z-index: 1; left: calc(50% - 49px); width: 98px; top: 60%; display: flex; justify-content: space-between; align-items: center; transform: translateY(-50%); }
.signal i { display: block; flex: 0 0 3px; width: 3px; height: var(--h); background: var(--wave); border-radius: 3px; animation: pulse 1.35s ease-in-out infinite alternate; animation-delay: var(--d); }
.signal i:nth-child(1) { --h: 5px; --d: -.2s; }
.signal i:nth-child(2) { --h: 14px; --d: -.8s; }
.signal i:nth-child(3) { --h: 30px; --d: -.4s; }
.signal i:nth-child(4) { --h: 52px; --d: -1.1s; }
.signal i:nth-child(5) { --h: 76px; --d: -.6s; }
.signal i:nth-child(6) { --h: 25px; --d: -.1s; }
.signal i:nth-child(7) { --h: 88px; --d: -.9s; }
.signal i:nth-child(8) { --h: 43px; --d: -.5s; }
.signal i:nth-child(9) { --h: 82px; --d: -1.2s; }
.signal i:nth-child(10) { --h: 61px; --d: -.3s; }
.signal i:nth-child(11) { --h: 72px; --d: -.7s; }
.signal i:nth-child(12) { --h: 35px; --d: -1s; }
.signal i:nth-child(13) { --h: 58px; --d: -.4s; }
.signal i:nth-child(14) { --h: 28px; --d: -.8s; }
.signal i:nth-child(15) { --h: 13px; --d: -.2s; }
.signal i:nth-child(16) { --h: 5px; --d: -1.1s; }
@keyframes pulse { to { transform: scaleY(.35); } }
.orbit { position: absolute; border: 1px solid rgba(20,19,22,.5); border-radius: 50%; }
.orbit-one { width: 420px; height: 420px; left: calc(50% - 210px); top: 20px; }
.orbit-two { width: 610px; height: 280px; left: calc(50% - 305px); top: 105px; transform: rotate(-22deg); }

.premise-heading { padding: 15px clamp(22px, 3vw, 48px); border-top: 1px solid var(--black); border-bottom: 1px solid var(--black); background: var(--cream); color: var(--black); }
.premise-heading h2 { font-size: clamp(29px, 3vw, 47px); }
.premise { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--black); border-bottom: 1px solid var(--black); }
.premise article { min-height: 230px; padding: 28px clamp(22px, 3vw, 48px); border-right: 1px solid var(--black); position: relative; }
.premise article:last-child { border-right: 0; background: var(--black); color: var(--cream); }
.premise article:nth-child(2) { background: var(--accent-surface); }
.premise b { font-size: 11px; letter-spacing: .12em; }
.premise h2 { margin-top: 29px; font-size: clamp(29px, 3vw, 47px); }
.premise p { max-width: 390px; margin: 14px 0 0; font-size: 14px; line-height: 1.5; }

.signup { min-height: 100vh; background: var(--cream); }
.signup-panel { width: min(780px, 100%); min-height: 100vh; margin: 0 auto; background: var(--cream); padding: 34px clamp(25px, 7vw, 110px) 60px; }
.back { padding: 8px 0; margin-bottom: 28px; border: 0; background: none; color: inherit; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.form-wrap, .success { width: min(560px, 100%); margin: 0 auto; }
.form-wrap h2, .success h2 { font-size: clamp(50px, 5vw, 76px); line-height: .88; }
.form-wrap h2 + form { margin-top: 32px; }
.success > p:last-child { margin: 20px 0 28px; color: #615b55; line-height: 1.55; }
form { display: grid; gap: 15px; }
.fields.two-up { display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; }
label > span, legend { display: block; margin-bottom: 6px; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
input { width: 100%; height: 46px; border: 1px solid var(--black); border-radius: 0; outline: 0; background: transparent; padding: 0 12px; }
input:focus { background: white; box-shadow: 4px 4px 0 var(--pink); }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.choices { display: grid; gap: 7px; }
.choices.two { grid-template-columns: repeat(2, 1fr); }
.choices.three { grid-template-columns: repeat(3, 1fr); }
.choices label { position: relative; }
.choices input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.choices span { display: grid; place-items: center; height: 42px; margin: 0; border: 1px solid var(--black); cursor: pointer; font-size: 12px; }
.choices input:checked + span { background: var(--pink); box-shadow: 4px 4px 0 var(--black); font-weight: 800; }
.choices input:focus-visible + span { outline: 3px solid var(--body-left); outline-offset: 2px; }
.submit { width: 100%; height: 52px; padding: 0 16px; margin-top: 2px; box-shadow: 6px 6px 0 var(--black); }
.submit:hover { background: var(--pink); }
.submit:disabled { cursor: wait; opacity: .6; }
.error { min-height: 17px; margin: -3px 0; color: #b51e4f; font-size: 12px; font-weight: 700; }
.honey { position: absolute; left: -10000px; }
.success { padding-top: 16vh; }

@media (prefers-reduced-motion: reduce) { .signal i { animation: none; } }
@media (max-width: 900px) {
  .premise { grid-template-columns: 1fr; }
  .premise article { min-height: 180px; border-right: 0; border-bottom: 1px solid var(--black); }
  .premise article:last-child { border-bottom: 0; }
  .signup-panel { min-height: auto; }
}
@media (max-width: 520px) {
  .hero-copy { grid-template-columns: minmax(0, 245px); padding: 24px 22px 31px; }
  .premise article { padding: 25px 22px; }
  .premise h2 { margin-top: 18px; }
  .signup-panel { padding: 25px 22px 55px; }
  .form-wrap h2, .success h2 { font-size: 52px; }
  .fields.two-up { grid-template-columns: 1.1fr .9fr; }
  .choices span { font-size: 11px; }
}
