:root{
  --accent:#FFDD2D;
  --ink:#000;
  --paper:#fff;
  --muted:#3a3a3a;
  --line:#E5E5E5;
  --shadow:0 10px 28px rgba(0,0,0,.12);
  --r:18px;
  --page:16px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
button,input{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
[hidden]{display:none !important}

body::before{
  content:"";
  position:fixed;
  inset:-18% auto auto -32%;
  width:88vw;height:88vw;max-width:480px;max-height:480px;
  background:radial-gradient(circle at 40% 40%, #FFE14A 0%, rgba(255,221,45,.38) 36%, transparent 70%);
  pointer-events:none;z-index:0;
}
body::after{
  content:"";
  position:fixed;
  inset:auto -18% -18% auto;
  width:78vw;height:78vw;max-width:480px;max-height:480px;
  background:radial-gradient(circle at 50% 50%, rgba(255,221,45,.55) 0%, rgba(255,221,45,.22) 42%, transparent 70%);
  pointer-events:none;z-index:0;
}

#app{position:relative;z-index:1}
.screen{display:none}
.screen.is-active{display:block}

.page{
  width:100%;
  max-width:430px;
  margin:0 auto;
  min-height:100dvh;
  padding:14px var(--page) 28px;
}

.screen[data-screen="hero"] .page{
  display:flex;
  flex-direction:column;
  padding-bottom:0;
}
.screen[data-screen="hero"] .stack{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.screen[data-screen="hero"] .art{
  flex:1 1 auto;
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:240px;
}

.top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}
.brand{
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:inherit;
  font-weight:900;
  font-size:30px;
  letter-spacing:.04em;
}
.brand img{width:56px;height:66px;object-fit:contain}
.age{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  font-size:20px;
}
.age img{
  width:48px;height:56px;object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}

.stack{display:flex;flex-direction:column}
.copy{min-width:0}

.legal{
  display:none;
  align-items:center;
  gap:10px;
  max-width:280px;
  font-size:12px;
  font-weight:600;
  line-height:1.3;
  border-bottom:2px solid var(--accent);
  padding-bottom:6px;
}
.legal img{width:32px;height:36px;flex:0 0 32px;object-fit:contain}
.legal p{margin:0}
.legal b{font-weight:800}


h1{
  margin:0;
  font-size:42px;
  
  letter-spacing:-.03em;
}
h1 > span{display:block}
h2{
  margin:0;
  font-size:18px;
  line-height:1.32;
  
  letter-spacing:-.02em;
}
.sum{
  color:#f9c706;
  text-shadow:0 0 18px rgba(255,221,45,.55);
}
.lede{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.5;
}
.lede b{font-weight:800}
.ask{
  margin:12px 0 0;
  font-weight:800;
  font-size:15px;
}

.btn{
  display:flex;
 margin: 22px auto 0;
  margin-top:22px;
  background:var(--accent);
  color:#000;
  font-weight:800;
  font-size:32px;
  letter-spacing:.01em;
  padding:16px 24px;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.btn1{
  display:flex;
  margin-top:22px;
  background:var(--accent);
  color:#000;
  font-weight:800;
  font-size:32px;
  letter-spacing:.01em;
  padding:16px 24px;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.btn:hover{filter:brightness(.98)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.85;cursor:not-allowed;box-shadow:none}
.btn.wide{margin-top:4px}

.pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:4px 0 22px;
}
.dot{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:800;
  font-size:18px;
  box-shadow:0 6px 16px rgba(0,0,0,.16);
}
.dot.current{
  background:#000;
  color:var(--accent);
}
.dot.upcoming{
  background:var(--accent);
  color:#000;
}
.ellipsis{
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 2px;
}
.ellipsis i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#000;
}

.quiz-page{
  display:flex;
  flex-direction:column;
  padding-top:4px;
  padding-bottom:16px;
}
.quiz-head{
  display:flex;
  align-items:center;
  margin-bottom:8px;
}
.opts{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:20px;
}
.opt{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  column-gap:12px;
  row-gap:6px;
  align-items:start;
  text-align:left;
  width:100%;
  padding:0;
  background:transparent;
  cursor:pointer;
  font-size:16px;
  font-weight:600;
}
.opt .mark{
  width:22px;
  height:22px;
  margin-top:1px;
  border:2px solid #111;
  border-radius:3px;
  grid-column:1;
}
.opt[aria-checked="true"] .mark{
  background:var(--accent);
  border-color:#111;
}
.opt-txt{
  grid-column:2;
  line-height:1.35;
  min-width:0;
}
.pill{
  grid-column:2;
  justify-self:start;
  font-style:normal;
  font-size:11px;
  font-weight:800;
  background:var(--accent);
  border-radius:999px;
  padding:4px 10px;
  white-space:nowrap;
}

.art{margin-top:22px;min-width:0}
.promo{width:100%;border-radius:22px;overflow:hidden}
.promo img{
  width:100%;
  height:auto;
  display:block;
  border-radius:22px;
  box-shadow:var(--shadow);
}
.promo-hero{
  overflow:visible;
  margin:0 calc(-1 * var(--page)) 0;
  width:calc(100% + var(--page) * 2);
  height:100%;
  border-radius:0;
}
.promo-hero img{
  border-radius:0;
  box-shadow:none;
  width:100%;
  height:100%;
  min-height:403px;
  object-fit:cover;
  object-position:center center;
}

.top-end{justify-content:flex-end}
.foot{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:auto;
  padding:18px 0 4px;
  flex-shrink:0;
}
.final-page{
  display:flex;
  flex-direction:column;
  min-height:100dvh;
}
.final-stack{display:flex;flex-direction:column;gap:16px;flex:1}
.win{border-radius:22px;overflow:hidden}
.win img{
  width:100%;
  height:auto;
  display:block;
  border-radius:22px;
  box-shadow:var(--shadow);
}
.lead{
  background:rgba(245,245,245,.92);
  border-radius:20px;
  padding:16px 14px 14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.lead input[type=text],
.lead input[type=email],
.lead input[type=tel]{
  width:100%;
  padding:15px 16px;
  border-radius:12px;
  border:1px solid #ddd;
  background:#fff;
  font-size:16px;
}
.lead input:focus{outline:none;border-color:var(--accent)}
.lead input.bad{border-color:#E5484D}
.check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:12px;
  line-height:1.4;
  color:#444;
}
.check input{
  margin-top:2px;
  width:16px;
  height:16px;
  accent-color:#2F6FED;
  flex:0 0 16px;
}
.err{margin:0;color:#E5484D;font-weight:600;font-size:13px}
.ok{text-align:center;padding:36px 12px}
.ok h2{margin-bottom:10px}
.ok p{color:#555;font-size:15px;line-height:1.5}

@media (min-width:900px){
  body::before{
    inset:-20% auto auto -18%;
    width:70vw;height:70vw;max-width:920px;max-height:920px;
  }
  .page{
    max-width:1280px;
    padding:22px 36px 40px;
  }
  .brand{font-size:22px}
  .brand img{width:46px;height:52px}
  .age{font-size:22px}
  .age img{width:56px;height:66px}
  .screen[data-screen="hero"] .age{display:none}
  .legal{display:flex}

  .screen[data-screen="hero"] .page{padding:72px 1px 10px}
  .screen[data-screen="hero"] .copy{text-align:left}
  .screen[data-screen="hero"] .stack{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:28px 40px;
    align-items:center;
    min-height:calc(100dvh - 110px);
    flex:none;
  }
  .screen[data-screen="hero"] .art{
    flex:none;
    margin-top:0;
    min-height:0;
    display:flex;
    justify-content:center;
  }
  h1{
    font-size:clamp(32px,4.4vw,58px);
    max-width:11.4em;
  }
  h1 > span{display:inline}
  h2{font-size:clamp(18px,2.1vw,28px);max-width:38ch}
  .lede{font-size:clamp(15px,1.4vw,18px);max-width:46ch}
  .btn{width:auto;display:inline-flex;padding:16px 48px;font-size:18px}
  .quiz-page .btn,
  .lead .btn{width:100%;display:flex}

  .quiz-page{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    grid-template-areas:
      "head head"
      "pager pager"
      "q art"
      "opts art"
      "btn art"
      "foot foot";
    gap:8px 40px;
    align-items:start;
  }
  .quiz-page .quiz-head{grid-area:head;margin-bottom:4px}
  .quiz-page .pager{grid-area:pager;justify-content:flex-start;margin-bottom:12px}
  .quiz-page h2{grid-area:q}
  .quiz-page .opts{grid-area:opts;margin-top:18px;max-width:560px}
  .quiz-page .btn{grid-area:btn;max-width:560px;margin-top:24px}
  .quiz-page .art{grid-area:art;margin-top:0}
  .quiz-page .foot{grid-area:foot;margin-top:16px}
  .promo{max-width:540px;margin-left:auto}
  .promo-hero{
    margin:0;
    width:100%;
    height:auto;
  }
  .promo-hero img{
    border-radius:28px;
    height:auto;
    min-height:0;
    object-fit:contain;
  }

  .final-stack{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:28px;
    align-items:start;
  }
  .win{grid-column:1}
  .lead,.ok{grid-column:2;grid-row:1}
}
