/* Interactive opportunity map: an editorial diagnostic, not a savings calculator. */
.diagnostic-hero{padding-bottom:0}
.diagnostic-hero h1{max-width:1080px}
.diagnostic-hero .inner-hero-bottom>p{max-width:660px}
.diagnostic-intro-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:74px 0 0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}
.diagnostic-intro-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px 18px;min-height:126px;padding:26px 30px 26px 0}
.diagnostic-intro-steps li+li{padding-left:30px;border-left:1px solid var(--line)}
.diagnostic-intro-steps li>span{grid-row:1/3;padding-top:3px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}
.diagnostic-intro-steps strong{font-size:17px;font-weight:500;line-height:1.35;letter-spacing:-.025em}
.diagnostic-intro-steps small{max-width:260px;color:var(--graphite);font-size:11px;line-height:1.65}

.diagnostic-workbench{margin-top:84px;background:var(--silver)}
.diagnostic-heading{margin-bottom:64px}
.diagnostic-heading h2{max-width:760px}
.diagnostic-tool{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.55fr);overflow:hidden;border:1px solid #d5d5db;border-radius:7px;background:var(--white);box-shadow:0 30px 70px -58px rgba(22,22,30,.42)}
.diagnostic-inputs{min-width:0;margin:0;padding:33px 34px 30px;border-right:1px solid var(--line);background:#fafafb}
.diagnostic-panel-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.diagnostic-panel-top>.section-label{font-size:9px}
.diagnostic-panel-top>span{color:var(--graphite);font-size:9px;line-height:1.5;text-align:right}
.diagnostic-field{display:block;margin-top:29px;color:var(--ink)}
.diagnostic-field>span{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:12px;font-size:11px;font-weight:500;line-height:1.5}
.diagnostic-field>span small{color:var(--graphite);font-size:9px;font-weight:450}
.diagnostic-field input:not([type="range"]),.diagnostic-field select{display:block;width:100%;height:48px;padding:0 13px;border:1px solid #cfcfd5;border-radius:3px;background:var(--white);color:var(--ink);font-family:inherit;font-size:13px;line-height:1.35;transition:border-color .2s ease,box-shadow .2s ease}
.diagnostic-field select{padding-right:32px}
.diagnostic-field input[type="number"]{-moz-appearance:textfield;appearance:textfield}
.diagnostic-field input[type="number"]::-webkit-inner-spin-button,.diagnostic-field input[type="number"]::-webkit-outer-spin-button{margin:0;appearance:none}
.diagnostic-field input:not([type="range"]):hover,.diagnostic-field select:hover{border-color:#a9a9b0}
.diagnostic-field input:not([type="range"]):focus,.diagnostic-field select:focus{border-color:var(--ink);box-shadow:0 0 0 2px rgba(23,23,25,.08);outline:0}
.diagnostic-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.diagnostic-salary-grid{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:0 12px;align-items:end}
.diagnostic-currency-field>span{white-space:nowrap}
.diagnostic-field-help{grid-column:1/-1;margin:9px 0 0;color:var(--graphite);font-size:9px;line-height:1.65}
.diagnostic-range{position:relative;padding-top:1px}
.diagnostic-range>span{padding-right:64px}
.diagnostic-range>output{position:absolute;top:0;right:0;color:var(--accent);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.diagnostic-range>input[type="range"]{display:block;width:100%;height:22px;margin:3px 0 0;padding:0;appearance:none;background:transparent;cursor:pointer}
.diagnostic-range>input[type="range"]::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--range-progress,60%),#d4d4da var(--range-progress,60%),#d4d4da 100%)}
.diagnostic-range>input[type="range"]::-moz-range-track{height:2px;border-radius:2px;background:#d4d4da}
.diagnostic-range>input[type="range"]::-moz-range-progress{height:2px;background:var(--accent)}
.diagnostic-range>input[type="range"]::-webkit-slider-thumb{width:17px;height:17px;margin-top:-7.5px;border:4px solid var(--white);border-radius:50%;appearance:none;background:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 12px rgba(191,61,52,.23)}
.diagnostic-range>input[type="range"]::-moz-range-thumb{width:9px;height:9px;border:4px solid var(--white);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 12px rgba(191,61,52,.23)}
.diagnostic-range>small{display:block;margin-top:8px;color:var(--graphite);font-size:9px;line-height:1.65}
.diagnostic-reset{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-top:27px;padding:16px 0 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--graphite);font-size:10px;text-align:left;transition:color .2s ease}
.diagnostic-reset>span{color:var(--ink);font-size:18px;transition:transform .35s var(--ease)}
.diagnostic-reset:hover{color:var(--ink)}
.diagnostic-reset:hover>span{transform:rotate(-35deg)}

.diagnostic-results{min-width:0;padding:34px 38px 36px}
.diagnostic-result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.diagnostic-result-top .section-label{font-size:9px;color:var(--graphite)}
.diagnostic-result-top h3{max-width:620px;margin:15px 0 0;font-size:clamp(28px,3vw,46px);font-weight:475;line-height:1.08;letter-spacing:-.05em}
.diagnostic-live-mark{display:flex;align-items:center;gap:9px;flex:0 0 auto;margin-top:2px;color:var(--graphite);font-size:9px;line-height:1.5}
.diagnostic-live-mark>i{display:block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(191,61,52,.25);animation:diagnostic-pulse 2.2s ease-out infinite}
@keyframes diagnostic-pulse{0%{box-shadow:0 0 0 0 rgba(191,61,52,.28)}55%,100%{box-shadow:0 0 0 8px rgba(191,61,52,0)}}
.diagnostic-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:34px 0 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.diagnostic-metrics>div{position:relative;min-width:0;padding:18px 20px 21px 0}
.diagnostic-metrics>div+div{padding-left:20px;border-left:1px solid var(--line)}
.diagnostic-metrics>div.is-accent::before{position:absolute;content:"";top:-1px;left:20px;right:0;height:2px;background:var(--accent)}
.diagnostic-metrics dt{color:var(--graphite);font-size:9px;line-height:1.45}
.diagnostic-metrics dd{margin:11px 0 0;font-size:clamp(24px,2.55vw,38px);font-weight:500;line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.diagnostic-metrics .is-accent dd>span{color:var(--accent)}
.diagnostic-metrics small{display:block;max-width:155px;margin-top:9px;color:var(--graphite);font-size:8px;font-weight:400;letter-spacing:0;line-height:1.5}
.diagnostic-formula{margin:12px 0 0;color:var(--graphite);font-size:9px;line-height:1.55;font-variant-numeric:tabular-nums}

.diagnostic-map{display:grid;grid-template-columns:minmax(155px,.82fr) 76px minmax(240px,1.25fr);gap:0;align-items:stretch;margin-top:29px;padding:25px;border:1px solid #e0e0e5;border-radius:4px;background:#fafafb}
.diagnostic-current,.diagnostic-destination{min-width:0;padding:18px;border:1px solid #d7d7dd;border-radius:4px;background:var(--white)}
.diagnostic-current{align-self:center}
.diagnostic-map-label{display:block;margin-bottom:18px;color:var(--graphite);font-size:8px;font-weight:550;letter-spacing:.055em;line-height:1.45;text-transform:uppercase}
.diagnostic-current strong,.diagnostic-destination strong{display:block;font-size:15px;font-weight:520;line-height:1.35;letter-spacing:-.025em}
.diagnostic-current p,.diagnostic-destination p{margin:9px 0 0;color:var(--graphite);font-size:10px;line-height:1.65}
.diagnostic-path{position:relative;align-self:stretch;min-height:100px}
.diagnostic-path>span{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(to right,#bdbdc4,var(--accent));transform:translateY(-.5px)}
.diagnostic-path>span::after{position:absolute;content:"";right:-1px;top:-3px;width:7px;height:7px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}
.diagnostic-path>i{position:absolute;z-index:2;top:50%;left:clamp(8px,var(--pattern-progress),calc(100% - 8px));width:10px;height:10px;border:2px solid var(--white);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 15px 3px rgba(191,61,52,.22);transform:translate(-50%,-50%);transition:left .55s var(--ease)}
.diagnostic-destinations{display:grid;gap:9px}
.diagnostic-destination{position:relative;padding:16px 18px}
.diagnostic-destination .diagnostic-map-label{margin-bottom:9px}
.diagnostic-destination.is-system{border-color:#b9d9d1;background:#f2faf8}
.diagnostic-destination.is-system::before{position:absolute;content:"";left:-3px;top:16px;bottom:16px;width:2px;background:#43a58e}
.diagnostic-destination.is-human{border-color:#e4c7c3;background:#fbf5f4}
.diagnostic-destination.is-human::before{position:absolute;content:"";left:-3px;top:16px;bottom:16px;width:2px;background:var(--accent)}
.diagnostic-results.is-updating .diagnostic-destination{animation:diagnostic-card-in .5s var(--ease) both}
.diagnostic-results.is-updating .diagnostic-destination:nth-child(2){animation-delay:.06s}
@keyframes diagnostic-card-in{0%{opacity:.5;transform:translateX(-8px)}100%{opacity:1;transform:none}}
.diagnostic-boundary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;margin-top:18px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.diagnostic-boundary>span{padding-top:1px;color:var(--graphite);font-size:9px;line-height:1.55}
.diagnostic-boundary>p{margin:0;font-size:11px;line-height:1.65}
.diagnostic-disclaimer{max-width:760px;margin:16px 0 0;color:var(--graphite);font-size:9px;line-height:1.7}

.diagnostic-reading{background:var(--white)}
.diagnostic-reading-grid{display:grid;grid-template-columns:.8fr 1.25fr;gap:110px;align-items:start}
.diagnostic-reading-grid h2{max-width:590px;margin-top:28px;font-size:clamp(38px,4.3vw,64px)}
.diagnostic-reading-grid ol{margin:0;padding:0;border-top:1px solid var(--ink);list-style:none}
.diagnostic-reading-grid li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:24px;padding:28px 0 30px;border-bottom:1px solid var(--line)}
.diagnostic-reading-grid li>span{padding-top:5px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}
.diagnostic-reading-grid h3{margin:0 0 11px;font-size:23px;font-weight:475;line-height:1.3;letter-spacing:-.035em}
.diagnostic-reading-grid li p{max-width:600px;margin:0;color:var(--graphite);font-size:13px;line-height:1.75}

.diagnostic-next{padding:92px 0;background:var(--ink);color:var(--white)}
.diagnostic-next-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:110px;align-items:start}
.diagnostic-next .section-label{color:#9d9da7}
.diagnostic-next h2{max-width:700px;margin-top:27px;font-size:clamp(42px,5vw,72px)}
.diagnostic-next-inner>div:last-child>p{max-width:520px;margin:3px 0 30px;color:#b7b7bf;font-size:14px;line-height:1.75}
.diagnostic-next .button{min-width:290px}
.diagnostic-message-link{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:290px;margin-top:19px;padding-bottom:9px;border-bottom:1px solid #55555d;color:#bcbcc4;font-size:10px;line-height:1.5}
.diagnostic-message-link>span{color:var(--white);font-size:17px;transition:transform .3s var(--ease)}
.diagnostic-message-link:hover>span{transform:translate(2px,-2px)}

@media(max-width:1120px){
  .diagnostic-tool{grid-template-columns:minmax(280px,.75fr) minmax(0,1.35fr)}
  .diagnostic-inputs{padding:29px 27px}.diagnostic-results{padding:30px}
  .diagnostic-map{grid-template-columns:minmax(140px,.72fr) 54px minmax(220px,1.28fr);padding:20px}
  .diagnostic-reading-grid,.diagnostic-next-inner{gap:70px}
}
@media(max-width:900px){
  .diagnostic-intro-steps li{padding-right:20px}.diagnostic-intro-steps li+li{padding-left:20px}
  .diagnostic-tool{grid-template-columns:1fr}
  .diagnostic-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-right:0;border-bottom:1px solid var(--line)}
  .diagnostic-panel-top{grid-column:1/-1}.diagnostic-number-grid{gap:14px}.diagnostic-salary-grid{grid-template-columns:minmax(0,1fr) 100px}.diagnostic-range{grid-column:1/-1}.diagnostic-reset{grid-column:1/-1}
  .diagnostic-map{grid-template-columns:minmax(150px,.8fr) 65px minmax(240px,1.2fr)}
  .diagnostic-reading-grid{grid-template-columns:1fr;gap:46px}.diagnostic-reading-grid h2{max-width:700px}
  .diagnostic-next-inner{grid-template-columns:1fr;gap:45px}.diagnostic-next-inner>div:last-child>p{max-width:650px}
}
@media(max-width:680px){
  .diagnostic-hero{padding-bottom:0}
  .diagnostic-intro-steps{grid-template-columns:1fr;margin-top:52px}
  .diagnostic-intro-steps li{min-height:0;padding:20px 0;grid-template-columns:27px minmax(0,1fr)}
  .diagnostic-intro-steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .diagnostic-intro-steps strong{font-size:15px}.diagnostic-intro-steps small{font-size:10px}
  .diagnostic-workbench{margin-top:55px;padding-top:76px;padding-bottom:76px}
  .diagnostic-heading{margin-bottom:40px}
  .diagnostic-tool{margin-inline:-5px}
  .diagnostic-inputs{display:block;padding:25px 20px 24px}
  .diagnostic-panel-top{padding-bottom:21px}.diagnostic-field{margin-top:25px}
  .diagnostic-field>span{font-size:11px}.diagnostic-field input:not([type="range"]),.diagnostic-field select{height:50px;font-size:16px}
  .diagnostic-number-grid{grid-template-columns:1fr 1fr;gap:11px}.diagnostic-salary-grid{grid-template-columns:minmax(0,1fr) 104px;gap:0 9px}
  .diagnostic-range>output{font-size:13px}.diagnostic-reset{margin-top:24px}
  .diagnostic-results{padding:27px 20px 26px}
  .diagnostic-result-top{display:block}.diagnostic-result-top h3{margin-top:13px;font-size:32px}.diagnostic-live-mark{margin-top:17px}
  .diagnostic-metrics{grid-template-columns:1fr 1fr;margin-top:26px}
  .diagnostic-metrics>div{padding:17px 12px 18px 0}.diagnostic-metrics>div+div{padding-left:12px}
  .diagnostic-metrics>div:nth-child(3){grid-column:1/-1;padding:18px 0;border-top:1px solid var(--line);border-left:0}
  .diagnostic-metrics>div.is-accent::before{left:0}
  .diagnostic-metrics dd{font-size:29px}.diagnostic-metrics small{max-width:none}
  .diagnostic-formula{font-size:9px;line-height:1.65}
  .diagnostic-map{grid-template-columns:1fr;margin-top:23px;padding:16px}
  .diagnostic-current{align-self:stretch}
  .diagnostic-path{min-height:51px}
  .diagnostic-path>span{left:50%;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(to bottom,#bdbdc4,var(--accent));transform:none}
  .diagnostic-path>span::after{right:-3px;top:auto;bottom:0;transform:rotate(135deg)}
  .diagnostic-path>i{top:clamp(8px,var(--pattern-progress),calc(100% - 8px));left:50%;transform:translate(-50%,-50%);transition:top .55s var(--ease)}
  .diagnostic-current strong,.diagnostic-destination strong{font-size:15px}.diagnostic-current p,.diagnostic-destination p{font-size:10px}
  .diagnostic-boundary{grid-template-columns:1fr;gap:7px}.diagnostic-boundary>p{font-size:11px}
  .diagnostic-reading{padding-top:76px;padding-bottom:76px}.diagnostic-reading-grid{gap:36px}.diagnostic-reading-grid h2{font-size:39px;margin-top:23px}
  .diagnostic-reading-grid li{grid-template-columns:25px minmax(0,1fr);gap:15px;padding:24px 0}.diagnostic-reading-grid h3{font-size:21px}.diagnostic-reading-grid li p{font-size:13px}
  .diagnostic-next{padding:72px 0}.diagnostic-next-inner{gap:35px}.diagnostic-next h2{font-size:42px;margin-top:23px}.diagnostic-next-inner>div:last-child>p{font-size:13px}.diagnostic-next .button{width:100%;min-width:0}.diagnostic-message-link{max-width:none}
}
@media(max-width:380px){.diagnostic-salary-grid{grid-template-columns:1fr}.diagnostic-currency-field{margin-top:15px}.diagnostic-field-help{margin-top:9px}}
