/* Shared by the founder quiz and the business health check. Loaded after styles.css, every rule scoped under .fq so nothing leaks into other pages.
   Founder quiz only: quiz.js sets --type-bg (the type colour) once there is a result.
   --fq-lime is the brand lime (#c7e74c). Don't use styles.css --lime here, that one is the light green. */
.fq{
  --fq-lime:#c7e74c; --fq-purple:#7e69af; --fq-light-green:#33b54a; --fq-softpink:#f7b8cf;
  --fq-line:#e4ded3;
  --type-bg:var(--black);
  font-size:1.0625rem;line-height:1.55;
}
.fq p{margin:0 0 1em}
.fq .wrap{max-width:44rem;padding:0 20px}
.fq .screen{padding:56px 0 80px;scroll-margin-top:0}
.fq .screen[hidden]{display:none}
.fq :focus-visible{outline:3px solid var(--fq-purple);outline-offset:3px}

/* Text-style buttons (Back, Retake) */
.fq .linkbtn{font:inherit;color:inherit;background:none;border:0;padding:.5rem 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:.95rem}
.fq .linkbtn:hover{color:var(--orange)}
.fq .btn{max-width:100%}

/* Intro */
.fq #intro h1{font-size:clamp(2.4rem,7vw,4rem);max-width:12ch;margin-bottom:1.25rem}
.fq .lede{font-size:1.2rem;max-width:34rem;margin-bottom:2rem}
.fq .fq-types{list-style:none;padding:0;margin:0 0 2.25rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.fq .fq-types li{padding:1.1rem .9rem 1rem;border-radius:4px;min-height:8.5rem;display:flex;flex-direction:column;justify-content:space-between}
.fq .fq-types .emoji{font-size:1.6rem;line-height:1}
.fq .fq-types .name{font-family:var(--serif);font-weight:700;font-size:1.2rem;line-height:1.1}
.fq .t-hustler{background:var(--orange);color:#fff}
.fq .t-dreamer{background:var(--fq-purple);color:#fff}
.fq .t-doer{background:var(--fq-lime);color:var(--black)}
.fq .t-builder{background:var(--fq-light-green);color:var(--black)}
.fq .fine{font-size:.9rem;color:#555;margin-top:1.25rem}

/* Questions */
.fq .progress{margin-bottom:2rem}
.fq .progress span{font-size:.9rem;font-weight:700;display:block;margin-bottom:.5rem}
.fq .bar{display:flex;gap:4px}
.fq .bar i{flex:1;height:6px;border-radius:3px;background:var(--fq-line)}
.fq .bar i.done{background:var(--black)}
.fq .bar i.now{background:var(--fq-lime)}
.fq #qtext{font-size:clamp(1.6rem,4.5vw,2.3rem);margin-bottom:1.75rem;outline:none}
.fq .options{display:grid;gap:.7rem;margin-bottom:1.5rem}
.fq .option{text-align:left;font-family:var(--sans);background:#fff;border:2px solid var(--black);border-radius:6px;padding:1rem 1.2rem;font-size:1.05rem;line-height:1.4;color:var(--black);cursor:pointer;transition:background-color .12s ease}
.fq .option:hover{background:var(--cream)}
.fq .option[aria-pressed="true"]{background:var(--fq-lime)}

/* Email step (public visitors only) */
.fq .gate-card{background:var(--fq-softpink);border-radius:6px;padding:2rem 1.5rem}
.fq #gate h2{font-size:clamp(1.9rem,5vw,2.6rem);margin-bottom:1rem}
.fq .field{margin-bottom:1rem}
.fq .field label{display:block;font-weight:700;margin-bottom:.35rem;font-size:.95rem}
.fq .field input{width:100%;font:inherit;padding:.85rem 1rem;border:2px solid var(--black);border-radius:6px;background:#fff;color:var(--black)}
.fq .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fq .error{color:#9b1c1c;font-weight:700;font-size:.95rem;min-height:1.4em;margin:.25rem 0 1rem}
.fq .consent{font-size:.85rem;margin-top:1rem;margin-bottom:0}

/* Results */
.fq #results{padding-top:0}
.fq .r-hero{background:var(--black);color:#fff;padding:3.5rem 0 3rem;margin-bottom:2.5rem}
.fq .r-kicker{font-size:1.1rem;margin-bottom:.4rem}
.fq #rName{font-size:clamp(3rem,11vw,6rem);line-height:.95;margin-bottom:.9rem;outline:none}
.fq #rName,.fq .r-tagline{color:var(--type-bg)}
.fq .r-tagline{font-size:1.25rem;font-weight:700;margin-bottom:.4rem}
.fq .r-streak{font-size:1.05rem;max-width:36rem;margin:0}
.fq .mix{margin-bottom:2.75rem}
.fq .mix h2{font-size:1.1rem;margin-bottom:.7rem;font-family:var(--sans)}
.fq .mix-bar{display:flex;gap:3px;height:18px;border-radius:3px;overflow:hidden;margin-bottom:.7rem}
.fq .mix-bar span{display:block;height:100%}
.fq .mix-legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.92rem}
.fq .mix-legend li::before{content:"";display:inline-block;width:.75rem;height:.75rem;border-radius:2px;margin-right:.4rem;vertical-align:-1px;background:var(--dot)}
.fq .r-section{margin-bottom:2.5rem}
.fq .r-section h2{font-size:1.6rem;margin-bottom:.8rem}
.fq .mono{font-family:var(--serif);font-size:clamp(1.5rem,4vw,2rem);line-height:1.25;border-left:6px solid var(--type-bg);padding:.2rem 0 .2rem 1.1rem;margin:0 0 2.5rem}
.fq .mono small{display:block;font-family:var(--sans);font-size:.9rem;margin-bottom:.4rem}
.fq .r-focus{background:var(--cream);padding:3rem 0}
.fq .r-focus h2{font-size:1.9rem;margin-bottom:.6rem}
.fq .foundation{font-weight:700;font-size:1.1rem;margin-bottom:1.5rem}
.fq .fq-steps{list-style:none;padding:0;margin:0;counter-reset:a;display:grid;gap:1.1rem}
.fq .fq-steps li{counter-increment:a;display:grid;grid-template-columns:2.5rem 1fr;align-items:start}
.fq .fq-steps li::before{content:counter(a);font-family:var(--serif);font-weight:700;font-size:1.9rem;line-height:1}
.fq .r-cta{background:var(--black);color:#fff;padding:3rem 0}
.fq .r-cta h2{font-size:clamp(1.8rem,5vw,2.4rem);margin-bottom:.8rem}
.fq .r-cta p{max-width:34rem;margin-bottom:1.6rem;color:#c9c5bf}
.fq .fq-after{padding-top:2.5rem}
.fq .fq-after p{font-size:.95rem}

@media (max-width:640px){
  .fq .fq-types{grid-template-columns:repeat(2,1fr)}
  .fq .fq-types li{min-height:6.5rem}
  .fq .screen{padding-top:32px}
  .fq .btn{white-space:normal;min-width:0;width:100%}
}
@media (prefers-reduced-motion:reduce){
  .fq *{transition:none!important}
}
