/* Try RightHire: demo page. Loaded after styles.css. */
.demo-hero{
  position:relative;
  background:
    radial-gradient(900px 420px at 80% -10%, rgba(43,217,137,.22), transparent 60%),
    radial-gradient(700px 380px at 0% 20%, rgba(91,124,255,.18), transparent 55%),
    var(--navy-950);
  color:var(--on-dark-2);
  padding:calc(var(--nav-h) + 56px) 0 108px;
}
.demo-hero h1{color:#fff;font-size:clamp(2.8rem,6vw,4.6rem);font-weight:800;letter-spacing:-.045em;line-height:.98}
.demo-hero h1 .serif{font-size:1.08em}
.demo-lead{margin-top:18px;max-width:40rem;font-size:1.12rem;color:var(--on-dark-2)}
.demo-privacy{margin-top:18px;max-width:40rem;font-size:.95rem;color:#D5F8E8;background:rgba(43,217,137,.1);border:1px solid rgba(43,217,137,.28);border-radius:14px;padding:12px 14px}
.demo-hero .pill{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}

.demo-sheet{position:relative;margin-top:-64px;padding-bottom:88px}
.demo-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow-lg);
  padding:28px;
}
.demo-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.demo-card-head h2{font-size:1.45rem}
.demo-card-head p{margin-top:6px;color:var(--muted);max-width:36rem}
.sample-wrap{position:relative;display:flex;flex:none}
.sample-wrap .btn-line:first-child{border-radius:999px 0 0 999px;padding-right:16px}
.btn-icon{border-radius:0 999px 999px 0;padding:0 14px;min-width:48px;border-left:0}
.btn-line{background:#fff;color:var(--navy-800);border:1.5px solid #D5DCE8;font-family:var(--f-head);font-weight:700}
.btn-line:hover{border-color:var(--green-600);color:var(--navy-900);background:#F6FBF8;transform:translateY(-1px)}
.sample-menu{
  position:absolute;top:calc(100% + 8px);right:0;z-index:20;
  list-style:none;margin:0;padding:8px;min-width:min(320px,78vw);
  background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);
}
.sample-menu button{
  display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:12px;
  padding:12px 12px;cursor:pointer;font:inherit;color:var(--ink);
}
.sample-menu button:hover,.sample-menu button:focus-visible{background:var(--tint)}
.sample-menu b{display:block;font-family:var(--f-head);font-size:.98rem}
.sample-menu small{display:block;color:var(--muted);font-size:.84rem;line-height:1.4;margin-top:2px}

.workbench{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:8px;align-content:start}
.field label,.mode-field legend{font-family:var(--f-head);font-weight:700;color:var(--ink);font-size:.95rem}
.field textarea{
  width:100%;min-height:280px;resize:vertical;
  font:inherit;font-size:1rem;line-height:1.5;color:var(--ink);
  background:#F8FAFD;border:1.5px solid #D5DCE8;border-radius:14px;padding:14px;
}
.field textarea:hover{border-color:#B9C3D6}
.field textarea:focus{outline:none;border-color:var(--green-600);box-shadow:0 0 0 4px rgba(43,217,137,.2);background:#fff}
.drop{
  display:grid;gap:2px;padding:12px 14px;border:1.5px dashed #C5D0E2;border-radius:14px;background:#FBFCFE;cursor:pointer;
}
.drop:hover,.drop.drag{border-color:var(--green-600);background:#F3FBF6}
.drop input{font:inherit;font-size:.92rem;max-width:100%}
.drop-title{font-family:var(--f-head);font-weight:700;color:var(--ink);font-size:.92rem}
.drop-hint{color:var(--muted);font-size:.86rem}
.drop-hint.ok{color:var(--green-700)}
.drop-hint.bad{color:#8E2F2F}

.mode-field{border:1px solid var(--line);border-radius:16px;margin:18px 0 0;padding:12px 14px 14px;display:grid;gap:8px}
.mode-opt{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--text)}
.mode-opt b{color:var(--ink)}
.mode-opt input{margin-top:4px}
.form-error{color:#8E2F2F;font-weight:600;margin-top:14px}
.analyze-row{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:18px}
.analyze-hint{color:var(--muted);font-size:.92rem;max-width:36rem;margin:0}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}

.report{margin-top:22px;display:grid;gap:16px}
.report[hidden]{display:none}
.print-only{display:none}
.report-banner{border-radius:14px;padding:12px 14px;background:#FFF8E8;border:1px solid #F5E1A8;color:#6B4700}
.score-band{
  display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;
  background:radial-gradient(800px 240px at 0% 0%, rgba(43,217,137,.2), transparent 50%), var(--navy-900);
  color:var(--on-dark);border-radius:24px;padding:26px;
}
.score-ring{width:128px;height:128px}
.score-ring circle{fill:none;stroke-width:10}
.score-ring .track{stroke:rgba(255,255,255,.12)}
.score-ring .value{stroke-linecap:round;transform:rotate(-90deg);transform-origin:60px 60px}
.score-ring.v-strong .value{stroke:#2BD989}
.score-ring.v-possible .value{stroke:#FFB547}
.score-ring.v-weak .value{stroke:#FF8A7A}
.score-num{
  font-family:var(--f-head);font-weight:800;font-size:1.7rem;fill:#fff;
}
.score-copy h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:8px}
.score-copy p{color:var(--on-dark-2);max-width:46rem}
.verdict{
  display:inline-flex;align-items:center;font-family:var(--f-head);font-weight:800;
  border-radius:999px;padding:6px 12px;margin-bottom:10px;font-size:.92rem;
}
.verdict.v-strong{background:#E9FBF2;color:#0B7A4C}
.verdict.v-possible{background:#FFF4D6;color:#6B4700}
.verdict.v-weak{background:#FFE8E4;color:#8E2F2F}
.mode-chip{display:inline-block;margin-top:12px;font-family:var(--f-mono);font-size:.75rem;letter-spacing:.04em;color:#D5F8E8}

.panel-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 22px 18px;box-shadow:var(--shadow-sm)}
.panel-card h2,.panel-card h3{font-size:1.25rem;margin-bottom:8px}
.kicker-label{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-700);margin-bottom:6px}
.exp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.exp-meta span{background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.84rem;color:var(--ink)}

.legend{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.legend span{font-size:.8rem;font-weight:600;border-radius:999px;padding:4px 10px}
.req-list{display:grid;gap:10px}
.req{border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px;background:#fff}
.req header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}
.req h3{font-size:1.02rem;line-height:1.35;letter-spacing:-.015em}
.req .note{color:var(--text);font-size:.94rem;margin-top:6px}
.req blockquote{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--tint);color:var(--ink);font-size:.94rem}
.req-matched{border-color:#C5F2DB}
.req-matched blockquote{background:#F3FBF7;border-left:3px solid var(--green-600)}
.req-partial blockquote{background:#FFFBF2;border-left:3px solid #E0B15A}
.req-missing blockquote{background:#FFF6F5;border-left:3px solid #E7A9A2}
.badge{font-family:var(--f-head);font-weight:800;font-size:.75rem;letter-spacing:.02em;border-radius:999px;padding:4px 9px}
.badge-matched{background:#E9FBF2;color:#0B7A4C}
.badge-partial{background:#FFF4D6;color:#6B4700}
.badge-missing{background:#FFE8E4;color:#8E2F2F}
.badge-list{background:#FFF4D6;color:#6B4700;border:1px solid #F5DC96}
.pri{margin-left:auto;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.q-label{display:block;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}

.split-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.point{padding:12px 0;border-top:1px solid var(--line)}
.point:first-of-type{border-top:0;padding-top:0}
.point strong{display:block;font-family:var(--f-head);color:var(--ink);margin-bottom:4px}
.point p{color:var(--text);font-size:.95rem}
.gap-intro{color:var(--muted);margin-bottom:8px}

.ai-top{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.ai-pct{font-family:var(--f-head);font-weight:800;font-size:3rem;letter-spacing:-.04em;line-height:.9;color:var(--ink)}
.ai-pct small{display:block;font-size:.95rem;letter-spacing:0;font-weight:700;color:var(--muted);margin-top:4px}
.ai-pct.low{color:#0B7A4C}
.ai-pct.mid{color:#8A5A00}
.ai-pct.high{color:#8E2F2F}
.disclaimer{margin-top:12px;padding:10px 12px;border-left:3px solid var(--green-600);color:var(--text);font-size:.92rem}
.signal{display:grid;grid-template-columns:minmax(140px,180px) 1fr;gap:8px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.signal:first-of-type{border-top:0}
.signal b{font-size:.92rem;color:var(--ink)}
.meter{height:8px;border-radius:99px;background:#EEF1F7;overflow:hidden}
.meter i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,#12A86B,#8FB3FF);border-radius:99px}
.meter.hot i{background:linear-gradient(90deg,#E0B15A,#C2412F)}
.signal p{grid-column:1 / -1;color:var(--muted);font-size:.88rem;margin:0}
.section-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:.95rem}
.section-row b{color:var(--ink)}
.hl{margin-top:10px;padding:12px;border-radius:14px;background:#FFFBF2;border:1px solid #F5E1A8}
.hl p{color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chips em{font-style:normal;font-size:.75rem;font-weight:700;color:#6B4700;background:#fff;border:1px solid #F5DC96;border-radius:999px;padding:3px 8px}
.questions{margin:8px 0 0;padding-left:1.2rem;display:grid;gap:10px}
.questions li{color:var(--ink)}
.report-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.report-actions p{color:var(--muted);font-size:.88rem;margin:0}
.copied{color:var(--green-700);font-weight:700}

.noscript{margin:24px;padding:16px;background:#FFF8E8;border-radius:12px}

@media (max-width:800px){
  .workbench,.split-2,.ai-top,.score-band{grid-template-columns:1fr}
  .demo-card{padding:18px}
  .demo-card-head{flex-direction:column}
  .sample-wrap{width:100%}
  .sample-wrap .btn{flex:1}
  .field textarea{min-height:200px}
  .pri{margin-left:0}
  .signal{grid-template-columns:1fr}
  .analyze-row .btn{width:100%}
}
@media (max-width:560px){
  .demo-hero{padding-top:calc(var(--nav-h) + 36px);padding-bottom:88px}
  .demo-hero h1{font-size:clamp(2.4rem,12vw,3.2rem)}
  .score-ring{width:108px;height:108px}
}

@media print{
  .no-print,.nav-wrap,.site-footer,.demo-hero,.demo-card,.report-actions{display:none !important}
  .print-only{display:block;font-family:var(--f-head);font-weight:800;font-size:1.2rem;margin:0 0 12px;color:#111}
  body{background:#fff;color:#111}
  .demo-sheet{margin:0;padding:0}
  .report{margin:0}
  .score-band,.panel-card,.req,.hl{box-shadow:none}
  .score-band{background:#fff !important;color:#111;border:1px solid #ccc;break-inside:avoid}
  .score-copy h2,.score-num{color:#111;fill:#111}
  .score-copy p,.mode-chip{color:#222}
  .score-ring .track{stroke:#ddd}
  .panel-card,.req{break-inside:avoid;page-break-inside:avoid}
  a{color:inherit;text-decoration:none}
}
@media (prefers-reduced-motion:reduce){
  .btn-line:hover{transform:none}
}
