:root{
  /* Identidade visual Nover */
  --brand:#FEBC01;
  --brand-strong:#E0A800;
  --brand-ink:#171310;
  --ink:#FFFFFF;
  --muted:#A7A7AC;
  --card:rgba(255,255,255,.035);
  --line:rgba(255,255,255,.14);
  --soft:rgba(255,255,255,.06);
  --fill:#FFFFFF;
  --fill-ink:#101010;
  --success:#4ADE9A;
  --danger:#FF7A7A;
  --radius:18px;
  --shadow:0 18px 48px rgba(0,0,0,.5);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at top right, rgba(254,188,1,.10), transparent 32rem),
    linear-gradient(160deg,#0F0F0F 0%,#1D1D1D 100%);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:300;
  line-height:1.5;
}

h1,h2,h3,h4,h5,h6,strong,b{font-weight:300}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit}

input::placeholder,select::placeholder{color:var(--muted);opacity:1}
input:-webkit-autofill,input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--ink);
  -webkit-box-shadow:0 0 0px 1000px #1a1a1a inset;
  transition:background-color 9999s ease-in-out 0s;
}

.shell{min-height:100vh}
.topbar{
  max-width:1120px;
  margin:0 auto;
  padding:24px 20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.brand-logo{
  height:28px;
  width:auto;
  display:block;
}
.top-note{
  color:var(--muted);
  font-size:12px;
  text-align:right;
}

.wrap{
  max-width:920px;
  margin:0 auto;
  padding:54px 20px 72px;
}

.eyebrow{
  color:var(--brand);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  text-align:center;
  margin-bottom:12px;
}
h1{
  font-size:clamp(34px,7vw,64px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0 auto 18px;
  max-width:850px;
  text-align:center;
  color:var(--ink);
  font-weight:500;
}
.lead{
  max-width:690px;
  margin:0 auto;
  color:var(--muted);
  text-align:center;
  font-size:clamp(15px,2.4vw,18px);
}

.stepper{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:34px 0 24px;
}
.step{
  display:flex;
  align-items:center;
}
.dot{
  width:30px;height:30px;border-radius:50%;
  border:1px solid var(--line);
  background:var(--card);
  color:var(--muted);
  display:grid;place-items:center;
  font-size:12px;
  font-weight:500;
  transition:.2s ease;
}
.dot.on{
  background:var(--fill);
  color:var(--fill-ink);
  border-color:var(--fill);
}
.connector{
  width:84px;height:1px;background:var(--line);
}
.connector.on{background:var(--fill)}

.panel{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:clamp(24px,5vw,42px);
  backdrop-filter:blur(16px);
}
.hidden{display:none!important}

.section-title{
  font-size:clamp(24px,4vw,34px);
  line-height:1.12;
  letter-spacing:-.03em;
  margin:0 0 8px;
  color:var(--ink);
  font-weight:500;
}
.section-sub{
  color:var(--muted);
  margin:0 0 28px;
}

.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.field-wrap{display:grid;gap:8px}
.field-wrap label{
  font-size:13px;
  font-weight:500;
  color:var(--ink);
}
.field,.select{
  width:100%;
  border:1px solid var(--line);
  background:var(--soft);
  color:var(--ink);
  border-radius:12px;
  padding:15px 14px;
  outline:none;
  transition:.2s ease;
}
.field:focus,.select:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(254,188,1,.18);
}
.select option{background:#1a1a1a;color:var(--ink)}
.hint{font-size:11px;color:var(--muted)}
.err{font-size:11px;color:var(--danger);min-height:16px}

.range-box{
  margin-top:20px;
  border:1px solid var(--line);
  background:var(--soft);
  border-radius:14px;
  padding:18px;
}
.range-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.range-value{
  font-size:22px;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--ink);
}
input[type="range"]{
  width:100%;
  accent-color:var(--brand);
}
.chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.chip{
  border:1px solid var(--line);
  background:var(--card);
  color:var(--ink);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:500;
}
.chip.on{
  background:var(--fill);
  color:var(--fill-ink);
  border-color:var(--fill);
}

.rate-note{
  margin-top:18px;
  border-left:3px solid var(--brand);
  padding:10px 12px;
  color:var(--muted);
  font-size:12px;
  background:var(--soft);
}

.question{
  display:none;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease;
}
.question.active{display:block}
.question.show{
  opacity:1;
  transform:translateY(0);
}
.q-title{
  font-weight:500;
  margin-bottom:12px;
  color:var(--ink);
}
.options{
  display:grid;
  gap:9px;
}
.option{
  width:100%;
  text-align:left;
  border:1px solid var(--line);
  background:var(--soft);
  padding:13px 14px;
  border-radius:12px;
  color:var(--ink);
  transition:.18s ease;
}
.option:hover{border-color:rgba(255,255,255,.35)}
.option.on{
  border-color:var(--brand);
  background:var(--brand);
  color:var(--brand-ink);
}

.checks{
  display:grid;
  gap:12px;
  margin-top:6px;
}
.check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
  font-size:12px;
}
.check input{margin-top:3px}
.check a{text-decoration:underline;color:var(--brand)}

.actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:28px;
  flex-wrap:wrap;
}
.btn{
  border:0;
  border-radius:999px;
  padding:14px 22px;
  font-weight:500;
  min-width:148px;
  transition:.18s ease;
}
.btn.primary{
  background:var(--fill);
  color:var(--fill-ink);
}
.btn.primary:hover{transform:translateY(-1px)}
.btn.primary:disabled{
  opacity:.36;
  cursor:not-allowed;
  transform:none;
}
.btn.ghost{
  background:transparent;
  border:1px solid var(--line);
  color:var(--ink);
}
.btn.brand{
  background:var(--brand);
  color:var(--brand-ink);
}
.btn.brand:hover{transform:translateY(-1px)}

.result-hero{
  background:linear-gradient(135deg,var(--brand),var(--brand-strong));
  color:var(--brand-ink);
  border-radius:var(--radius);
  padding:clamp(26px,5vw,44px);
  position:relative;
  overflow:hidden;
}
.result-hero:after{
  content:"";
  position:absolute;
  width:240px;height:240px;border-radius:50%;
  background:rgba(23,19,16,.14);
  filter:blur(6px);
  right:-80px;top:-90px;
}
.result-kicker{
  color:rgba(23,19,16,.68);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:500;
}
.result-big{
  font-size:clamp(38px,8vw,70px);
  line-height:1;
  font-weight:500;
  letter-spacing:-.055em;
  margin:12px 0;
  position:relative;
  z-index:1;
}
.result-copy{
  color:rgba(23,19,16,.72);
  max-width:690px;
  margin:0;
  position:relative;
  z-index:1;
}

.result-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.result-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px;
}
.mini-label{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:500;
}
.mini-value{
  font-size:28px;
  font-weight:500;
  margin-top:6px;
  letter-spacing:-.03em;
  color:var(--ink);
}

.bar-wrap{margin-top:18px;display:grid;gap:14px}
.bar-row{display:grid;gap:6px}
.bar-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  color:var(--ink);
}
.bar-meta strong{font-weight:500}
.track{
  height:9px;
  background:var(--soft);
  border-radius:999px;
  overflow:hidden;
}
.fill{
  height:100%;
  background:var(--fill);
  border-radius:999px;
  width:0;
  transition:width .5s ease;
}
.fill.brand{background:var(--brand)}

.chart-card{margin-top:18px}
.chart-wrap{margin-top:14px}
.chart-wrap svg{width:100%;height:auto;display:block}
.chart-legend{
  display:flex;
  gap:20px;
  margin-top:14px;
  flex-wrap:wrap;
}
.legend-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--muted);
}
.legend-dot{
  width:10px;height:10px;border-radius:50%;
  display:inline-block;
  flex:0 0 auto;
}
.legend-dot.future{background:var(--brand)}
.legend-dot.contrib{background:var(--fill)}

.profile-name{
  font-size:36px;
  font-weight:500;
  letter-spacing:-.04em;
  margin:8px 0 12px;
  color:var(--ink);
}
.principles{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.principles li{
  display:flex;
  gap:10px;
  color:var(--muted);
  font-size:13px;
}
.principles li:before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:var(--brand);
  margin-top:7px;
  flex:0 0 auto;
}

.cta{
  margin-top:18px;
  border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(254,188,1,.10),rgba(254,188,1,.03));
  border:1px solid rgba(254,188,1,.25);
  padding:clamp(24px,5vw,34px);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.cta h3{margin:0 0 6px;font-size:25px;letter-spacing:-.025em;color:var(--ink);font-weight:500}
.cta p{margin:0;color:var(--muted);max-width:610px}

.disclaimer{
  margin-top:18px;
  color:var(--muted);
  font-size:11px;
  line-height:1.65;
  border-top:1px solid var(--line);
  padding-top:18px;
}

.footer{
  max-width:1120px;
  margin:0 auto;
  padding:0 20px 36px;
  color:var(--muted);
  font-size:11px;
  text-align:center;
}

@media(max-width:720px){
  .top-note{display:none}
  .wrap{padding-top:38px}
  .grid-2,.result-grid{grid-template-columns:1fr}
  .connector{width:46px}
  .brand-logo{height:22px}
  .cta{align-items:flex-start;flex-direction:column}
  .cta .btn{width:100%}
  .actions .btn{flex:1}
}
