.egirs-root{
  --egirs-bg:#f7f3fb;
  --egirs-card:#ffffff;
  --egirs-ink:#21162b;
  --egirs-muted:#6f627a;
  --egirs-line:#e8def0;
  --egirs-purple:#5a1f78;
  --egirs-purple-2:#321044;
  --egirs-magenta:#e91b9a;
  --egirs-pink:#ff54bd;
  --egirs-soft:#fff4fc;
  --egirs-warning:#f6a623;
  --egirs-danger:#c63b68;
  --egirs-success:#23826f;
  color:var(--egirs-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  margin:34px auto;
}
.egirs-root *{box-sizing:border-box}
.egirs-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(90,31,120,.15);
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0%,rgba(233,27,154,.10),transparent 32%),
    linear-gradient(180deg,#fff 0%,var(--egirs-bg) 100%);
  box-shadow:0 28px 80px rgba(47,17,61,.18),0 7px 22px rgba(47,17,61,.08);
  padding:clamp(20px,3vw,40px);
}

/* 1:1 premium heading / hero */
.egirs-hero{
  position:relative;
  width:min(100%,760px);
  aspect-ratio:1 / 1;
  margin:0 auto;
  border-radius:28px;
  overflow:hidden;
  background:#1c1025;
  box-shadow:0 22px 55px rgba(39,12,51,.24);
  isolation:isolate;
}
.egirs-hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  z-index:0;
}
.egirs-hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(19,7,28,.08) 0%,rgba(19,7,28,.16) 34%,rgba(19,7,28,.78) 73%,rgba(19,7,28,.94) 100%),
    linear-gradient(90deg,rgba(27,8,37,.18),transparent 52%);
}
.egirs-hero-content{
  position:absolute;
  z-index:3;
  left:clamp(22px,5vw,48px);
  right:clamp(22px,5vw,48px);
  bottom:clamp(22px,5vw,44px);
  color:#fff;
  text-shadow:0 2px 16px rgba(16,4,23,.32);
}
.egirs-kicker,.egirs-eyebrow,.egirs-mini-label{
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:800;
}
.egirs-kicker{font-size:12px;color:#ffc7eb;margin-bottom:10px}
.egirs-hero h2{
  color:#fff;
  font-size:clamp(36px,7vw,72px);
  line-height:.92;
  letter-spacing:-.045em;
  margin:0 0 14px;
  max-width:680px;
}
.egirs-hero p{
  font-size:clamp(14px,2vw,17px);
  line-height:1.55;
  color:#f7edf9;
  max-width:640px;
  margin:0;
}
.egirs-hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.egirs-hero-pills span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(61,15,81,.62);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.egirs-photo-chip{
  position:absolute;
  z-index:4;
  padding:9px 14px;
  border-radius:999px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 8px 28px rgba(38,4,49,.28);
  backdrop-filter:blur(8px);
}
.egirs-chip-a{top:18px;left:18px;background:rgba(233,27,154,.94)}
.egirs-chip-b{top:18px;right:18px;background:rgba(58,20,73,.90);border:1px solid rgba(255,255,255,.40)}

.egirs-intro-strip{
  margin:24px 0;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  border:1px solid var(--egirs-line);
  background:rgba(255,255,255,.88);
  border-radius:18px;
  padding:16px 18px;
  color:var(--egirs-muted);
  font-size:14px;
  line-height:1.6;
}
.egirs-intro-strip strong{color:var(--egirs-ink)}
.egirs-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.egirs-input-panel{
  position:relative;
  background:var(--egirs-card);
  border:1px solid var(--egirs-line);
  border-radius:22px;
  padding:24px;
  box-shadow:0 10px 32px rgba(47,17,61,.06);
}
.egirs-input-panel-wide{grid-column:1/-1}
.egirs-panel-number{position:absolute;top:18px;right:18px;color:#9b79aa;font-weight:900;font-size:13px;letter-spacing:.08em}
.egirs-input-panel h3{font-size:21px;line-height:1.2;margin:0 0 6px;color:var(--egirs-ink)}
.egirs-input-panel>div>p{margin:0 0 20px;color:var(--egirs-muted);font-size:14px;line-height:1.5}
.egirs-field{display:block;margin-top:16px}
.egirs-field>span{
  display:block;
  font-size:13px;
  font-weight:850;
  margin:0 0 7px;
  color:#35253f;
}

/* High-contrast native controls - intentionally light in both site modes */
.egirs-field input,
.egirs-field select,
.egirs-candidate-row input,
.egirs-candidate-row select{
  width:100%;
  min-height:47px;
  padding:10px 12px;
  border:1px solid #bdaec7;
  border-radius:12px;
  background:#ffffff !important;
  color:#17111c !important;
  -webkit-text-fill-color:#17111c !important;
  font:inherit;
  font-size:15px;
  font-weight:650;
  line-height:1.35;
  outline:none;
  box-shadow:0 1px 0 rgba(31,15,38,.03);
  color-scheme:light !important;
  opacity:1 !important;
}
.egirs-field select,
.egirs-candidate-row select{
  appearance:auto;
  -webkit-appearance:menulist;
}
.egirs-field select option,
.egirs-field select optgroup,
.egirs-candidate-row select option,
.egirs-candidate-row select optgroup{
  background:#ffffff !important;
  color:#17111c !important;
  -webkit-text-fill-color:#17111c !important;
  font-weight:650;
}
.egirs-field input::placeholder,
.egirs-candidate-row input::placeholder{
  color:#766b7d !important;
  -webkit-text-fill-color:#766b7d !important;
  opacity:1;
}
.egirs-field input:focus,
.egirs-field select:focus,
.egirs-candidate-row input:focus,
.egirs-candidate-row select:focus{
  border-color:var(--egirs-magenta);
  box-shadow:0 0 0 3px rgba(233,27,154,.14);
}
.egirs-two-col{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.egirs-three-col{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px}
.egirs-action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.egirs-primary,.egirs-secondary,.egirs-local-buttons button,.egirs-report-bar button{
  min-height:46px;border-radius:12px;padding:11px 18px;font:inherit;font-weight:850;cursor:pointer;border:0;transition:.18s ease
}
.egirs-primary{color:#fff;background:linear-gradient(135deg,var(--egirs-magenta),#8d26cf);box-shadow:0 10px 24px rgba(206,32,163,.24)}
.egirs-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(206,32,163,.30)}
.egirs-secondary{color:var(--egirs-purple);background:#f5ecf9;border:1px solid #ddcce8}
.egirs-secondary:hover{background:#efe2f6}
.egirs-results{margin-top:24px;display:grid;gap:16px}
.egirs-result-card{
  width:100%;background:#fff;border:1px solid var(--egirs-line);border-radius:20px;padding:22px 24px;
  box-shadow:0 10px 30px rgba(47,17,61,.06);position:relative;overflow:hidden
}
.egirs-result-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#8f4aa8}
.egirs-result-card[data-tone="danger"]:before{background:var(--egirs-danger)}
.egirs-result-card[data-tone="warning"]:before{background:var(--egirs-warning)}
.egirs-result-card[data-tone="success"]:before{background:var(--egirs-success)}
.egirs-result-card[data-tone="accent"]:before{background:linear-gradient(var(--egirs-magenta),#7a30d4)}
.egirs-result-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.egirs-result-card h3{margin:0;font-size:20px;line-height:1.25;color:var(--egirs-ink)}
.egirs-result-card p{color:var(--egirs-muted);line-height:1.65;margin:10px 0 0}
.egirs-result-card ul{margin:12px 0 0 20px;padding:0;color:var(--egirs-muted);line-height:1.65}
.egirs-result-card li{margin:5px 0}
.egirs-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap;background:#f1e7f6;color:var(--egirs-purple)}
.egirs-badge[data-risk="Low"]{background:#e7f5f1;color:#1b6c5e}
.egirs-badge[data-risk="Moderate"]{background:#fff2d9;color:#8d5c00}
.egirs-badge[data-risk="High"]{background:#ffe4ec;color:#a02952}
.egirs-badge[data-risk="Critical"]{background:#f7dbe2;color:#861735}
.egirs-riskbar{height:10px;background:#eee6f2;border-radius:999px;margin:16px 0 0;overflow:hidden}
.egirs-riskbar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7a4fb0,#e91b9a,#c53b62)}
.egirs-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.egirs-kpi{background:#faf7fc;border:1px solid #eee5f2;border-radius:14px;padding:14px}
.egirs-kpi span{display:block;color:var(--egirs-muted);font-size:12px;font-weight:750;margin-bottom:5px}
.egirs-kpi strong{display:block;font-size:15px;line-height:1.35;color:var(--egirs-ink)}
.egirs-local-section{margin-top:24px;background:#fff;border:1px solid var(--egirs-line);border-radius:24px;padding:24px;box-shadow:0 12px 34px rgba(47,17,61,.06)}
.egirs-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;border-bottom:1px solid var(--egirs-line);padding-bottom:18px}
.egirs-section-heading h3{margin:4px 0 0;font-size:23px;color:var(--egirs-ink)}
.egirs-section-heading p{margin:0;max-width:600px;color:var(--egirs-muted);font-size:14px;line-height:1.55}
.egirs-eyebrow{font-size:11px;color:var(--egirs-magenta)}
.egirs-local-actions{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 0}
.egirs-mini-label{display:block;font-size:10px;color:var(--egirs-muted);margin-bottom:6px}
.egirs-local-actions strong{font-size:17px;color:var(--egirs-ink)}
.egirs-local-buttons{display:flex;gap:10px;flex-wrap:wrap}
.egirs-local-buttons button{background:#f5ecf9;color:var(--egirs-purple);border:1px solid #ddcce8}
.egirs-questions{background:#faf7fc;border:1px solid #eee5f2;border-radius:16px;padding:17px 18px;color:var(--egirs-muted);font-size:14px;line-height:1.6}
.egirs-questions strong{display:block;color:var(--egirs-ink);margin-bottom:8px}
.egirs-questions ul{margin:0 0 0 18px;padding:0}
.egirs-compare-heading{margin-top:26px}
.egirs-candidates{display:grid;gap:12px;margin-top:18px}
.egirs-candidate-row{display:grid;grid-template-columns:1.25fr 1fr .75fr .75fr 1fr 1fr 1fr;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--egirs-line)}
.egirs-candidate-row:last-child{border-bottom:0}
.egirs-candidate-row label{min-width:0}
.egirs-candidate-row label span{display:block;font-size:10px;font-weight:850;color:#4a3a52;margin-bottom:5px;letter-spacing:.02em}
.egirs-candidate-row input,.egirs-candidate-row select{min-height:40px;border-radius:10px;padding:8px;font-size:13px}
.egirs-candidate-optional{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
.egirs-candidate-actions{justify-content:flex-end}
.egirs-comparison-result{margin-top:16px}
.egirs-ranking{width:100%;border-collapse:collapse;font-size:14px}
.egirs-ranking th,.egirs-ranking td{padding:11px 10px;border-bottom:1px solid var(--egirs-line);text-align:left;vertical-align:top;color:var(--egirs-ink)}
.egirs-ranking th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--egirs-muted)}
.egirs-ranking tr:first-child td{background:#fff6fc}
.egirs-report-bar{margin-top:24px;border-radius:20px;padding:18px 20px;background:linear-gradient(135deg,#2f113d,#64167b);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}
.egirs-report-bar div{display:flex;flex-direction:column;gap:3px}
.egirs-report-bar strong{font-size:17px}.egirs-report-bar small{color:#decde5}
.egirs-report-bar button{background:#fff;color:#4c1762}
.egirs-disclaimer{font-size:12px;line-height:1.55;color:#87798e;margin:18px 2px 0}

@media (max-width:980px){
  .egirs-form-grid{grid-template-columns:1fr}
  .egirs-input-panel-wide{grid-column:auto}
  .egirs-three-col{grid-template-columns:1fr}
  .egirs-candidate-row{grid-template-columns:1fr 1fr 1fr}
  .egirs-candidate-optional{grid-column:1/-1;grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .egirs-root{margin:20px auto}
  .egirs-shell{border-radius:20px;padding:14px}
  .egirs-hero{width:100%;border-radius:19px}
  .egirs-hero-content{left:20px;right:20px;bottom:20px}
  .egirs-hero h2{font-size:clamp(31px,10vw,44px);margin-bottom:10px}
  .egirs-hero p{font-size:13px;line-height:1.45}
  .egirs-kicker{font-size:10px;margin-bottom:7px}
  .egirs-hero-pills{gap:6px;margin-top:12px}
  .egirs-hero-pills span{min-height:28px;padding:5px 9px;font-size:10px}
  .egirs-photo-chip{padding:7px 10px;font-size:9px}
  .egirs-chip-a{top:12px;left:12px}.egirs-chip-b{top:12px;right:12px}
  .egirs-intro-strip{grid-template-columns:1fr}
  .egirs-input-panel{padding:19px;border-radius:17px}
  .egirs-two-col,.egirs-result-grid{grid-template-columns:1fr}
  .egirs-section-heading,.egirs-local-actions,.egirs-report-bar{align-items:flex-start;flex-direction:column}
  .egirs-local-buttons,.egirs-local-buttons button,.egirs-report-bar button{width:100%}
  .egirs-candidate-row{grid-template-columns:1fr 1fr}
  .egirs-candidate-optional{grid-template-columns:1fr}
  .egirs-action-row .egirs-primary,.egirs-action-row .egirs-secondary{flex:1 1 100%}
}
@media (max-width:390px){
  .egirs-hero h2{font-size:30px}
  .egirs-hero p{font-size:12px;line-height:1.4}
  .egirs-hero-pills span:nth-child(3){display:none}
}
@media (prefers-color-scheme:dark){
  .egirs-root{
    --egirs-bg:#151019;
    --egirs-card:#1d1722;
    --egirs-ink:#f7eef9;
    --egirs-muted:#c7b9cd;
    --egirs-line:#3b3041;
    --egirs-soft:#261b29;
  }
  .egirs-shell{background:radial-gradient(circle at 100% 0%,rgba(233,27,154,.10),transparent 32%),linear-gradient(180deg,#18121d,#100d13)}
  .egirs-intro-strip,.egirs-input-panel,.egirs-result-card,.egirs-local-section{background:#1d1722}
  .egirs-field>span{color:#f0e6f4}
  .egirs-candidate-row label span{color:#e4d7e9}
  /* Keep controls light for guaranteed native-option visibility in dark mode. */
  .egirs-field input,.egirs-field select,.egirs-candidate-row input,.egirs-candidate-row select{
    background:#ffffff !important;
    color:#17111c !important;
    -webkit-text-fill-color:#17111c !important;
    border-color:#bdaec7;
    color-scheme:light !important;
  }
  .egirs-field select option,.egirs-field select optgroup,.egirs-candidate-row select option,.egirs-candidate-row select optgroup{
    background:#ffffff !important;
    color:#17111c !important;
    -webkit-text-fill-color:#17111c !important;
  }
  .egirs-secondary,.egirs-local-buttons button{background:#2a2030;border-color:#513d5c;color:#f1dff7}
  .egirs-kpi,.egirs-questions{background:#18121c;border-color:#382e3d}
  .egirs-ranking tr:first-child td{background:#2a1726}
}
