.c33-gnf{
  --gnf-navy:#0a3040;
  --gnf-blue:#176fd1;
  --gnf-teal:#087f78;
  --gnf-green:#2d7c55;
  --gnf-amber:#c97917;
  --gnf-red:#ab4237;
  --gnf-ink:#112e37;
  --gnf-muted:#607579;
  --gnf-line:#d4e0df;
  --gnf-soft:#f4f8f7;
  width:100%;
  max-width:980px;
  margin:0 0 42px;
  color:var(--gnf-ink);
  overflow-wrap:anywhere;
}
.c33-gnf *{box-sizing:border-box;min-width:0}
.c33-gnf [hidden]{display:none!important}
.c33-gnf__header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  align-items:center;
  gap:24px;
  padding:30px;
  border:1px solid #174a59;
  border-radius:18px 18px 0 0;
  background:linear-gradient(128deg,#0a3040 0%,#0b4a57 100%);
  color:#dceceb;
}
.c33-gnf__header h2{
  margin:5px 0 9px;
  color:#fff;
  font-size:clamp(1.55rem,4vw,2.25rem);
  line-height:1.16;
}
.c33-gnf__header p{margin:0}
.c33-gnf__eyebrow{
  color:#c9ed8a!important;
  font-size:.72rem;
  font-weight:820;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.c33-gnf__badge{
  display:grid;
  place-items:center;
  width:104px;
  height:104px;
  justify-self:end;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  background:rgba(255,255,255,.08);
  transform:rotate(3deg);
}
.c33-gnf__badge span{font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.c33-gnf__badge strong{color:#c9ed8a;font-size:2.5rem;line-height:1}
.c33-gnf__body{border:1px solid var(--gnf-line);border-top:0;border-radius:0 0 18px 18px;background:#fff}
.c33-gnf__form{padding:28px;background:#f8faf9}
.c33-gnf__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.c33-gnf label>span,.c33-gnf__marks-copy>span{display:block;margin:0 0 7px;color:var(--gnf-ink);font-weight:780}
.c33-gnf label>small{display:block;margin-top:7px;color:var(--gnf-muted);font-size:.79rem;line-height:1.45}
.c33-gnf input,.c33-gnf select{
  width:100%;max-width:100%;min-height:50px;padding:11px 13px;border:1px solid #b6c9c7;border-radius:9px;background:#fff;color:var(--gnf-ink);font:inherit
}
.c33-gnf input:focus,.c33-gnf select:focus,.c33-gnf button:focus-visible{outline:3px solid rgba(23,111,209,.22);outline-offset:2px}
.c33-gnf__input-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #b6c9c7;border-radius:9px;background:#fff;overflow:hidden}
.c33-gnf__input-unit input{border:0;border-radius:0}
.c33-gnf__input-unit b{padding:0 14px;color:#506b6f}
.c33-gnf__marks-box{
  display:grid;grid-template-columns:minmax(220px,1.15fr) repeat(2,minmax(0,1fr));align-items:end;gap:18px;margin-top:24px;padding:20px;border:1px solid #cadad8;border-radius:13px;background:#fff
}
.c33-gnf__marks-copy{align-self:center}
.c33-gnf__marks-copy p{margin:0;color:var(--gnf-muted);font-size:.88rem;line-height:1.45}
.c33-gnf__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.c33-gnf button{min-height:46px;padding:10px 17px;border:1px solid var(--gnf-blue);border-radius:9px;background:var(--gnf-blue);color:#fff;font:inherit;font-weight:780;cursor:pointer}
.c33-gnf .c33-gnf__secondary{border-color:#acbfbd;background:#fff;color:var(--gnf-ink)}
.c33-gnf__error{margin:16px 0 0;color:#a52121;font-weight:700}
.c33-gnf__results{padding:28px;border-top:1px solid var(--gnf-line);background:var(--gnf-soft);outline:none}
.c33-gnf__answer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.c33-gnf__answer-row>div>span{display:block;color:var(--gnf-muted);font-size:.74rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.c33-gnf__answer-row strong{display:block;margin-top:4px;color:var(--gnf-navy);font-size:clamp(2.15rem,7vw,3.6rem);line-height:1.04}
.c33-gnf__answer-row small{display:block;margin-top:8px;color:var(--gnf-muted)}
.c33-gnf__status{margin-top:22px;padding:17px 18px;border:1px solid #bdd7d3;border-left:5px solid var(--gnf-teal);border-radius:10px;background:#fff}
.c33-gnf__status.is-achievable{border-left-color:var(--gnf-green);background:#f5fbf7}
.c33-gnf__status.is-perfect{border-left-color:var(--gnf-amber);background:#fff9ed}
.c33-gnf__status.is-secured{border-left-color:var(--gnf-teal)}
.c33-gnf__status.is-impossible{border-left-color:var(--gnf-red);background:#fff5f3}
.c33-gnf__status b{display:block}.c33-gnf__status p{margin:5px 0 0;color:var(--gnf-muted)}
.c33-gnf__range{margin-top:22px}
.c33-gnf__range-labels{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:var(--gnf-muted);font-size:.75rem}
.c33-gnf__range-track{position:relative;height:15px;border:1px solid #c6d6d4;border-radius:999px;background:linear-gradient(90deg,#e8f3f2,#fff3d8);overflow:visible}
.c33-gnf__range-track span,.c33-gnf__range-track i{position:absolute;top:50%;width:16px;height:16px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px rgba(17,46,55,.2)}
.c33-gnf__range-track span{background:var(--gnf-teal)}.c33-gnf__range-track i{background:var(--gnf-amber)}
.c33-gnf__range-key{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px;color:var(--gnf-muted);font-size:.75rem}
.c33-gnf__range-key span{display:flex;align-items:center;gap:6px}.c33-gnf__range-key i{width:10px;height:10px;border-radius:50%}.c33-gnf__range-key .is-current{background:var(--gnf-teal)}.c33-gnf__range-key .is-target{background:var(--gnf-amber)}
.c33-gnf__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.c33-gnf__metrics article{padding:15px;border:1px solid #cbdad8;border-radius:10px;background:#fff}
.c33-gnf__metrics span{display:block;color:var(--gnf-muted);font-size:.72rem;font-weight:790;line-height:1.35}
.c33-gnf__metrics strong{display:block;margin-top:7px;color:var(--gnf-navy);font-size:1.03rem}
.c33-gnf__proof{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.7fr);gap:18px;margin-top:22px;padding:17px 18px;border:1px solid #bdd7d3;border-radius:10px;background:#fff}
.c33-gnf__proof.is-impossible{border-color:#e6c4bf;background:#fff7f5}
.c33-gnf__proof span{display:block;color:var(--gnf-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.c33-gnf__proof strong{display:block;margin-top:4px}.c33-gnf__proof p{margin:0;color:var(--gnf-muted)}
.c33-gnf__method{margin-top:22px;padding:18px;border:1px solid #cadad8;border-radius:10px;background:#fff}
.c33-gnf__method h3{margin:0 0 6px;font-size:1rem}.c33-gnf__method p{margin:0;color:var(--gnf-muted)}
.c33-gnf__warnings{margin:18px 0 0;padding-left:20px;color:var(--gnf-muted)}.c33-gnf__warnings li+li{margin-top:7px}
.c33-gnf__note{margin:18px 0 0;padding:14px 16px;border-left:4px solid var(--gnf-blue);background:#eef6ff;color:#486064}
@media (max-width:820px){
  .c33-gnf__fields{grid-template-columns:1fr 1fr}.c33-gnf__fields label:last-child{grid-column:1/-1}
  .c33-gnf__marks-box{grid-template-columns:1fr 1fr}.c33-gnf__marks-copy{grid-column:1/-1}
  .c33-gnf__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .c33-gnf__header{grid-template-columns:1fr;padding:23px}.c33-gnf__badge{display:none}
  .c33-gnf__form,.c33-gnf__results{padding:20px}
  .c33-gnf__fields,.c33-gnf__marks-box,.c33-gnf__metrics,.c33-gnf__proof{grid-template-columns:1fr}
  .c33-gnf__fields label:last-child,.c33-gnf__marks-copy{grid-column:auto}
  .c33-gnf__answer-row{align-items:flex-start;flex-direction:column}
  .c33-gnf__answer-row button{width:100%}
  .c33-gnf__range-labels{flex-direction:column}
}
