body {
  font-family: 'Helvetica Neue', sans-serif;
  background-color: #fff8dc;
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-weight: bold;
}

.progress-bar {
  display: flex;
  justify-content: space-between;
  background: #fef7e0;
  padding: 10px;
}

.step {
  flex: 1;
  text-align: center;
  padding: 12px;
  background: #fbecc2;
  color: #555;
  margin: 0 5px;
  border-radius: 5px;
  font-size: 1.2em;
}
.step.active { background:#f9d87e; color:#333; }

.question-box {
  max-width: 85%;
  margin: 20px auto;
  padding: 20px; /* ?? */
  background: #fffef8;
  font-size: .95em;
  /* border: 2px solid #ff4b7d; */
  /* border-radius: 8px; */
}

.question-title {
  display:flex;
  align-items:center;
  font-size:1.3em;
  margin-bottom:16px;
}
.question-title span {
  background:#f9d87e; color:#333; text-align:center;
  border-radius:50%; padding:10px; margin-right:10px;
  width:38px; font-size:.95em;
}

.options { display:flex; flex-direction:column; gap:12px; }

.option-btn {
  background:#FFA500; color:#fff; text-align:center;
  padding:18px; border:none; border-radius:6px;
  font-size:1.3em; cursor:pointer; transition:background .3s;
  width:90%; max-width:400px; margin:10px auto;
}
.option-btn:hover, .option-btn.selected { background:#FF8C00; }

.answers {
  display:flex; flex-wrap:wrap; align-items:center;
  gap:0; border:2px solid #ff4b7d; border-radius:0;
  padding:20px; margin:0 auto;
}
.answers button {
  flex: 1 1 calc(50% - 12px);
  max-width:200px; padding:6px; margin:6px;
  background:#FFBA00; color:#fff; text-align:center;
  border:none; border-radius:6px; font-size:1.1em;
  cursor:pointer; transition: background-color .3s;
  font-weight:bold;
}
.answers button:hover,
.answers button.selected { background:#FF8C00; }

.confirm-button {
  display:block; width:90%; max-width:400px;
  margin:40px auto 0; padding:18px 30px;
  background:#ccc; color:#fff; border:none; border-radius:6px;
  font-size:1.3em; cursor:not-allowed; opacity:.5; transition:all .3s;
  box-shadow:0 4px 6px rgba(0,0,0,.2);
}
.confirm-button.enabled {
  background:#e60033; cursor:pointer; opacity:1;
  box-shadow:0 6px 12px rgba(0,0,0,.3);
}

.terms {
  display:flex; justify-content:center; align-items:center;
  margin-top:30px; font-size:1.1em; text-align:center;
}
.terms input[type="checkbox"] { margin-right:12px; transform:scale(1.3); }

#submitBox { text-align:center; margin-top:30px; }
#submitBox input[type="checkbox"] { margin-right:10px; }
#submitBtn {
  margin-top:20px; padding:18px 30px; background:#fce5a2; color:#333;
  border:1px solid #f9d87e; border-radius:6px; font-size:1.3em;
  cursor:pointer; opacity:.5; pointer-events:none; transition:all .3s;
}
#submitBtn.enabled { opacity:1; pointer-events:auto; }

.header-img {
  display:block; width:100%; max-width:600px; height:auto;
  margin:0 auto 0; border-radius:12px; padding-top:20px;
}
img.center-img { display:block; max-width:100%; margin:0 auto 0; padding-top:40px; }

/* ??? */
@keyframes pulse { 0%{transform:scale(1)} 50%{transform:scale(1.08)} 100%{transform:scale(1)} }
.animated-button { animation:pulse 1.8s infinite ease-in-out; }

.footer-button {
  position:fixed; left:50%; bottom:20px; transform:translateX(-50%);
  width:90%; max-width:400px; z-index:999; animation:float 1.5s ease-in-out infinite;
}
.footer-button img { width:80%; display:block; margin:0 auto; cursor:pointer; }

@keyframes float { 0%,100%{transform:translate(-50%,0)} 50%{transform:translate(-50%,-10px)} }

.line-bounce { animation:bounceScale 1.5s infinite ease-in-out; }
@keyframes bounceScale { 0%,100%{transform:scale(1)} 50%{transform:scale(1.1)} }

html { scroll-behavior:smooth; }

.v-arrow-container {
  display:flex; flex-direction:column; align-items:center;
  gap:10px; margin:30px 0;
}
.v-svg {
  width:100px; height:80px; fill:none; stroke:#ff69b4; stroke-width:10;
  animation:arrowPulse 1.5s infinite ease-in-out;
}
.v-svg:nth-child(2){ animation-delay:.2s; }
.v-svg:nth-child(3){ animation-delay:.4s; }

@keyframes arrowPulse {
  0%{ transform:scale(1); stroke:#ff69b4; }
  50%{ transform:scale(1.5); stroke:#ffa500; }
  100%{ transform:scale(1); stroke:#ff69b4; }
}

.cta-text { text-align:center; margin-top:20px; }
.answer-label { font-size:1.8em; font-weight:bold; color:#000; margin:5px 0; }
.diagnose-label { font-size:2.2em; font-weight:bold; color:#ff4b7d; margin:5px 0; }

.qa-box {
  width:85%; max-width:500px; margin:20px auto; padding:5px;
  background:#fff; border:3px solid #ffddee; border-radius:15px;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
  font-family:"Helvetica Neue", sans-serif; text-align:left;
}
.qa-header {
  display:flex; align-items:center; background:#fdb8d2;
  padding:10px; border-radius:10px 10px 0 0;
}
.qa-q {
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:40px; height:40px; margin-right:10px;
  background:#ff4b7d; color:#fff; font-weight:bold; font-size:1.2em; border-radius:50%;
}
.qa-question { margin:0; font-weight:bold; font-size:1.1em; color:#333; }
.qa-answer { margin-top:15px; font-size:1em; line-height:1.6; color:#333; }

.site-footer { background:transparent; padding:10px 0; text-align:center; font-size:12px; color:#888; }
.footer-links a { color:#888; text-decoration:none; margin:0 6px; font-weight:400; }
.footer-links a:hover { color:#555; text-decoration:underline; }

.countdown-wrapper,
.countdown-wrapper2 {
  text-align:center; width:fit-content; font-weight:bold;
  padding:0 0 20px; border-radius:0; box-shadow:0 0 10px rgba(0,0,0,.1);
}
.countdown-wrapper  { background:#fff; }
.countdown-wrapper2 { background:#fff8dc; }

.count-title { font-size:24px; }
.countdown   { font-size:28px; color:deeppink; margin:0; }
.note        { margin-top:10px; font-size:14px; color:#444; }

.lp-block { position:relative; width:100%; max-width:800px; margin:0 auto 0; }
.lp-img   { display:block; width:100%; border-radius:8px; }
.lp-btn   {
  position:absolute; left:50%; bottom:5%; transform:translateX(-50%);
  width:70%; max-width:600px; cursor:pointer; transition:transform .3s, opacity .3s;
}
.lp-btn:hover { transform:translateX(-50%) scale(1.05); opacity:.9; }