@import url('https://fonts.googleapis.com/css2?family=Halant:wght@400;500;600;700&family=Nunito+Sans:wght@400;600;700;800;900&display=swap');

.cv-sim {
  --cv-navy: #081d60;
  --cv-deep: #102d78;
  --cv-blue: #2169b3;
  --cv-orange: #ee5108;
  --cv-orange-d: #d94705;
  --cv-text: #111111;
  --cv-muted: #56657f;
  --cv-line: #dbe7f2;
  --cv-wash: #f3f8fd;
  --cv-card: #ffffff;
  --cv-shadow: 0 18px 55px rgba(10,57,113,.07), 0 2px 8px rgba(10,57,113,.04);
  --cv-serif: 'Halant', Georgia, 'Times New Roman', serif;
  --cv-sans: 'Nunito Sans', Arial, sans-serif;
  display: block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100vw - 1px);
  max-width: 100vw;
  margin: 0;
  padding: 0 0 72px;
  color: var(--cv-text);
  background: linear-gradient(180deg, #f5faff 0%, #f8fbff 37%, #ffffff 76%);
  font-family: var(--cv-sans);
  font-size: 18px;
  line-height: 1.65;
  text-align: left;
  isolation: isolate;
}
.cv-sim, .cv-sim *, .cv-sim *::before, .cv-sim *::after { box-sizing: border-box; }
.cv-sim a { color: var(--cv-blue); text-decoration-thickness: 1px; }
.cv-sim button, .cv-sim textarea { font-family: var(--cv-sans); }
.cv-sim button { cursor: pointer; }
.cv-sim button:disabled { cursor: wait; opacity: .72; }
.cv-sim button:focus-visible, .cv-sim a:focus-visible, .cv-sim textarea:focus-visible { outline: 3px solid #f99549; outline-offset: 3px; }
.cv-sim h1, .cv-sim h2, .cv-sim h3, .cv-sim p, .cv-sim ul, .cv-sim blockquote { margin: 0; padding: 0; }
.cv-sim h1, .cv-sim h2, .cv-sim h3 { color: var(--cv-navy); font-family: var(--cv-serif); }
.cv-sim p { line-height: 1.7; }
.cv-sim__sr-only { position: absolute !important; overflow: hidden; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; clip: rect(0,0,0,0); white-space: nowrap; }
.cv-sim__shell { margin: auto; width: min(1180px, calc(100% - 42px)); }
.cv-sim__utility-row { display: flex; justify-content: flex-end; padding: 28px 0 8px; }
.cv-sim__brand-pill { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; font-size: 18px; color: #46627b; border: 1px solid #dce9f4; border-radius: 100px; background: #fff; font-weight: 800; }
.cv-sim__pulse { height: 10px; width: 10px; border-radius: 50%; background: #f18a4d; box-shadow: 0 0 0 5px #ffebde; }
.cv-sim__hero { position: relative; display: flex; align-items: center; min-height: 320px; padding: 30px 0 28px; overflow: hidden; }
.cv-sim__hero-copy { max-width: 720px; position: relative; z-index: 2; }
.cv-sim__kicker, .cv-sim__tiny-title { font-size: 13px; font-weight: 900; letter-spacing: .14em; color: var(--cv-orange); text-transform: uppercase; }
.cv-sim__hero h1 { font: 800 clamp(54px, 6vw, 82px)/1.08 var(--cv-serif); letter-spacing: -.05em; margin: 0 0 18px; }
.cv-sim__hero h1 em { color: var(--cv-orange); font-weight: 700; font-style: italic; }
.cv-sim__hero p { max-width: 700px; color: #4e607d; font-size: 28px; line-height: 1.55; }
.cv-sim__hero-tags { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 28px; font-size: 20px; color: #2e405b; font-weight: 800; }
.cv-sim__hero-tags span { white-space: nowrap; }
.cv-sim__hero-art { position: absolute; width: 360px; height: 305px; right: -12px; bottom: -6px; opacity: .92; }
.cv-sim__orbit { border: 1px solid #d0e4f7; position: absolute; border-radius: 50%; left: 30px; top: 8px; width: 300px; height: 300px; }
.cv-sim__orbit--two { left: 74px; top: 53px; width: 210px; height: 210px; opacity: .7; }
.cv-sim__sun { width: 50px; height: 50px; background: var(--cv-orange); border-radius: 50%; position: absolute; right: 72px; top: 76px; }
.cv-sim__mountain { position: absolute; height: 175px; width: 390px; bottom: -10px; left: 0; clip-path: polygon(0 85%, 14% 69%, 28% 78%, 48% 34%, 66% 68%, 80% 47%, 100% 76%, 100% 100%, 0 100%); }
.cv-sim__mountain--back { background: #c3dff6; transform: translate(15px, -18px); }
.cv-sim__mountain--front { background: #6fa7df; clip-path: polygon(0 85%, 19% 67%, 35% 82%, 55% 42%, 68% 62%, 87% 42%, 100% 65%, 100% 100%, 0 100%); opacity: .92; }
.cv-sim__art-bubble { display: flex; justify-content: center; align-items: center; gap: 5px; position: absolute; border-radius: 16px; background: #fff; border: 1px solid #e5ecf9; box-shadow: 0 9px 26px rgba(10,62,124,.1); z-index: 2; }
.cv-sim__art-bubble--left { width: 81px; height: 52px; top: 56px; left: 30px; transform: rotate(-9deg); }
.cv-sim__art-bubble--right { width: 65px; height: 43px; right: 32px; top: 157px; transform: rotate(10deg); }
.cv-sim__art-bubble span { background: #95b5df; width: 8px; height: 8px; border-radius: 10px; }
.cv-sim__art-bubble--right span { background: #f69a62; }

.cv-sim__app { scroll-margin-top: 30px; }
.cv-sim__stepper { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 0 auto 22px; font-size: 16px; font-weight: 800; color: #798aa2; }
.cv-sim__step { display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; }
.cv-sim__step.is-current { color: var(--cv-navy); }
.cv-sim__step.is-complete { color: #2d6f79; }
.cv-sim__step-num { display: flex; justify-content: center; align-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #d7e4f0; color: #8293ad; background: white; font-size: 15px; }
.cv-sim__step.is-current .cv-sim__step-num { color: #fff; background: var(--cv-navy); border-color: var(--cv-navy); }
.cv-sim__step.is-complete .cv-sim__step-num { color: #fff; background: #378b8d; border-color: #378b8d; }
.cv-sim__step-rail { height: 1px; width: 45px; background: #d6e4ef; }

.cv-sim__panel { background: #fff; border: 1px solid #dfebf4; border-radius: 22px; box-shadow: var(--cv-shadow); overflow: hidden; }
.cv-sim__panel--choose { padding: clamp(28px, 4vw, 48px); }
.cv-sim__panel-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.cv-sim__panel-top h2, .cv-sim__chat-head h2 { font: 700 clamp(40px, 4vw, 56px)/1.14 var(--cv-serif); letter-spacing: -.03em; margin: 10px 0 8px; }
.cv-sim__panel-top p { color: var(--cv-muted); font-size: 22px; max-width: 760px; }

.cv-sim__scenario-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 34px 0; }
.cv-sim__scenario {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  text-align: left;
  background: #fff;
  border: 2px solid #e2ebf4;
  border-radius: 18px;
  padding: 24px 22px 22px;
  width: 100%;
  min-height: 195px;
  color: var(--cv-text);
  box-shadow: 0 6px 14px rgba(9,57,122,.06);
  transition: border-color .15s, box-shadow .15s, background .15s, transform .15s;
}
.cv-sim__scenario:hover { transform: translateY(-2px); border-color: #93b5d6; box-shadow: 0 12px 20px rgba(9,57,122,.08); }
.cv-sim__scenario.is-selected { border-color: #9fc1e3; background: #eef6ff; box-shadow: inset 0 0 0 1px #d2e4f6, 0 12px 20px rgba(9,57,122,.08); }
.cv-sim__scenario-check {
  position: absolute; top: 16px; right: 16px; display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%; background: #d7e8fa; color: var(--cv-blue); font-size: 16px; font-weight: 900;
}
.cv-sim__scenario-icon {
  display: grid; width: 58px; height: 58px; place-items: center; border-radius: 14px; font-size: 30px; line-height: 1;
}
.cv-sim__scenario-icon--blue { background: #dfeeff; }
.cv-sim__scenario-icon--sand { background: #f7ede7; }
.cv-sim__scenario-icon--green { background: #eaf6ee; }
.cv-sim__scenario-icon--slate { background: #edf2f7; }
.cv-sim__scenario-content { display: block; }
.cv-sim__scenario-content strong { display: block; color: #101010; font-family: var(--cv-serif); font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.cv-sim__scenario-content small { display: block; color: #3c4758; font-size: 22px; line-height: 1.45; margin-top: 10px; }
.cv-sim__panel-footer { border-top: 1px solid var(--cv-line); display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 25px; }
.cv-sim__footer-note { color: #516780; font-size: 18px; font-weight: 700; }
.cv-sim__footer-note span { margin-right: 6px; }

.cv-sim__primary, .cv-sim__secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px; text-decoration: none !important;
  border-radius: 12px; padding: 17px 24px; font-size: 20px; font-weight: 900; line-height: 1.3;
}
.cv-sim__primary {
  border: 1px solid var(--cv-orange-d); background: var(--cv-orange); color: #fff !important;
  box-shadow: 0 5px 0 rgba(156,59,3,.1), 0 10px 20px rgba(238,81,8,.14);
}
.cv-sim__primary:hover { background: #d84404; transform: translateY(-1px); }
.cv-sim__primary span { font-size: 22px; line-height: 1; }
.cv-sim__primary--small { padding: 15px 20px; font-size: 19px; }
.cv-sim__secondary { background: #fff; border: 1px solid #cddded; color: var(--cv-navy); }
.cv-sim__secondary:hover { background: #f4f9fd; }
.cv-sim__preview { font-size: 15px; color: #795729; background: #fff8e9; padding: 14px 16px !important; border: 1px solid #f1dfb6; border-radius: 10px; margin-top: 20px !important; }

.cv-sim__panel--chat { padding: 0; }
.cv-sim__chat-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 34px 40px 20px; }
.cv-sim__text-link {
  display: inline-flex; align-items: center; gap: 8px; color: #fff; background: var(--cv-orange); border: 0; border-radius: 10px; padding: 10px 16px;
  font: 800 18px var(--cv-sans); text-decoration: none;
}
.cv-sim__chat-head h2 { margin: 18px 0 6px; }
.cv-sim__conversation-label { letter-spacing: .08em; font-weight: 900; color: #667d97; font-size: 16px; text-transform: uppercase; }
.cv-sim__conversation-label span { padding: 0 6px; }
.cv-sim__progress-label { flex: 0 0 auto; background: #eef3f9; color: var(--cv-navy); border-radius: 14px; padding: 18px 24px; font-size: 28px; font-weight: 900; }
.cv-sim__progress-label span { font-size: 18px; color: #62718b; font-weight: 800; }
.cv-sim__progress-track { height: 6px; background: #edf3f9; }
.cv-sim__progress-fill { height: 100%; background: linear-gradient(90deg, #255da8, #4c8ad5); transition: width .2s ease; }

.cv-sim__chat-log { padding: 30px 26px; background: #f8fbff; max-height: 580px; overflow-y: auto; }
.cv-sim__message { display: flex; gap: 16px; align-items: flex-start; max-width: min(100%, 980px); margin-bottom: 24px; }
.cv-sim__message--coach { margin-left: auto; flex-direction: row-reverse; }
.cv-sim__avatar {
  width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; overflow: hidden; background: #dfe8f3; color: var(--cv-navy); display: grid; place-items: center; font-weight: 900;
  border: 1px solid #d3dfeb;
}
.cv-sim__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cv-sim__speaker { display: block; font-size: 18px; font-weight: 800; color: #5d718d; margin: 2px 0 8px; }
.cv-sim__bubble {
  background: #fff; border: 1px solid #dce7f0; border-radius: 22px; padding: 20px 24px; font-size: 22px; line-height: 1.6; color: #111111; box-shadow: 0 2px 6px rgba(13,40,80,.04);
}
.cv-sim__message--coach .cv-sim__bubble { background: #fff6f0; border-color: #f3d4c2; }
.cv-sim__typing { display: inline-flex; gap: 6px; align-items: center; min-width: 116px; }
.cv-sim__typing i { width: 9px; height: 9px; border-radius: 50%; background: #b8c7d8; display: inline-block; animation: cvbounce 1s infinite alternate; }
.cv-sim__typing i:nth-child(2) { animation-delay: .15s; }
.cv-sim__typing i:nth-child(3) { animation-delay: .3s; }
@keyframes cvbounce { to { transform: translateY(-5px); opacity: .35; } }

.cv-sim__composer { padding: 30px 40px 32px; border-top: 1px solid #e5edf6; background: #fff; }
.cv-sim__composer-heading { display: flex; gap: 10px 16px; justify-content: space-between; align-items: baseline; flex-wrap: wrap; margin-bottom: 14px; }
.cv-sim__composer-heading strong { font-family: var(--cv-serif); font-size: 26px; color: var(--cv-navy); font-weight: 700; }
.cv-sim__composer-heading span { color: #6f839d; font-size: 18px; }
.cv-sim__composer textarea {
  border: 2px solid #d3e0ec; width: 100%; resize: vertical; min-height: 168px; max-height: 280px; border-radius: 14px; padding: 22px 22px;
  outline: none; font: 600 24px/1.6 var(--cv-sans); box-shadow: none; background: white; color: #111111;
}
.cv-sim__composer textarea:focus { border-color: var(--cv-orange); box-shadow: 0 0 0 4px rgba(238,81,8,.12); }
.cv-sim__composer textarea::placeholder { color: #7a8799; }
.cv-sim__compose-bottom { display: flex; gap: 16px; justify-content: space-between; align-items: center; margin-top: 14px; }
.cv-sim__compose-spacer { display: inline-block; min-height: 1px; }
.cv-sim__prompt-link { background: none; border: 0; color: var(--cv-blue); padding: 6px 0; font-size: 18px; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.cv-sim__chat-help { margin: 14px 0 0 !important; color: #71839a; font-size: 16px; }
.cv-sim__error { background: #fff1ed; color: #a53923; border: 1px solid #facabc; border-radius: 10px; padding: 14px 16px !important; margin: 14px 0 !important; font-size: 17px; }
.cv-sim__panel--chat > .cv-sim__preview { margin: 0 40px 24px !important; }

.cv-sim__loading-panel { padding: 90px 30px; text-align: center; }
.cv-sim__loading-icon { font-size: 40px; color: var(--cv-orange); margin-bottom: 16px; animation: cvbounce 1s infinite alternate; }
.cv-sim__loading-panel h2 { font: 700 38px var(--cv-serif); }
.cv-sim__loading-panel p { max-width: 600px; margin: 14px auto 0; color: var(--cv-muted); font-size: 22px; }
.cv-sim__loading-bar { height: 6px; width: 240px; margin: 30px auto; overflow: hidden; border-radius: 6px; background: #e8eff9; }
.cv-sim__loading-bar > div { height: 100%; width: 30%; background: var(--cv-orange); animation: cvslide 1.1s ease-in-out infinite alternate; }
@keyframes cvslide { from { transform: translateX(0) } to { transform: translateX(170px) } }

.cv-sim__results { padding: 40px clamp(24px,4vw,48px) 30px; }
.cv-sim__result-banner { display: flex; gap: 22px; align-items: center; padding: 0 0 30px; border-bottom: 1px solid var(--cv-line); }
.cv-sim__result-icon { display: grid; flex: 0 0 68px; height: 68px; place-items: center; background: #e0f4ef; color: #278a73; border-radius: 50%; font-size: 30px; font-weight: 900; }
.cv-sim__result-banner h2 { font: 700 clamp(34px,4vw,48px)/1.18 var(--cv-serif); letter-spacing: -.02em; margin: 6px 0; }
.cv-sim__result-banner p { color: var(--cv-muted); font-size: 20px; }
.cv-sim__result-summary { padding: 28px 0; }
.cv-sim__result-section-heading { color: var(--cv-blue); font-size: 14px; letter-spacing: .14em; font-weight: 900; }
.cv-sim__result-summary p { margin-top: 10px; color: #2b3442; font-size: 23px; max-width: 840px; }
.cv-sim__feedback-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.cv-sim__feedback-box { min-height: 220px; border: 1px solid #d9eae9; border-radius: 14px; padding: 26px; background: #f3fbf8; }
.cv-sim__feedback-box--improve { background: #fffaf5; border-color: #f5dfcc; }
.cv-sim__feedback-icon { color: #208b76; font-size: 32px; margin-bottom: 12px; }
.cv-sim__feedback-box--improve .cv-sim__feedback-icon { color: var(--cv-orange); }
.cv-sim__feedback-box h3 { font: 700 25px var(--cv-serif); margin-bottom: 12px; }
.cv-sim__feedback-box ul { padding-left: 24px; color: #243041; font-size: 20px; line-height: 1.7; }
.cv-sim__feedback-box li + li { margin-top: 10px; }
.cv-sim__example-question { margin: 20px 0 30px; background: #f4f8fd; border-left: 4px solid #70a3d2; padding: 22px 24px; border-radius: 0 12px 12px 0; }
.cv-sim__example-question blockquote { margin: 10px 0; color: var(--cv-navy); font: 600 30px/1.45 var(--cv-serif); }
.cv-sim__example-question p { color: var(--cv-muted); font-size: 18px; }
.cv-sim__course-cta { display: grid; grid-template-columns: minmax(200px, .75fr) minmax(0,1.4fr); border-radius: 16px; background: linear-gradient(120deg,#e6f3ff,#f5faff); border: 1px solid #d6e8fa; overflow: hidden; min-height: 326px; }
.cv-sim__course-decor { position: relative; overflow: hidden; background: linear-gradient(150deg,#e0f1ff,#a6cff4); }
.cv-sim__course-sun { position: absolute; width: 72px; height: 72px; border-radius: 50%; background: var(--cv-orange); top: 52px; right: 34px; }
.cv-sim__course-ridge { position: absolute; display: block; bottom: -5px; left: -25%; width: 150%; height: 70%; background: #5c9dd8; clip-path: polygon(0 76%, 18% 35%, 29% 52%, 54% 10%, 73% 63%, 86% 36%, 100% 75%,100% 100%,0 100%); }
.cv-sim__course-ridge--b { background: #1f539e; height: 58%; clip-path: polygon(0 63%, 18% 53%, 39% 18%, 53% 65%, 70% 33%, 86% 50%, 100% 13%, 100% 100%,0 100%); }
.cv-sim__course-words { padding: 34px clamp(22px,3.2vw,42px) 34px; }
.cv-sim__course-words h2 { font: 700 clamp(34px,3.8vw,46px)/1.2 var(--cv-serif); letter-spacing: -.02em; margin: 12px 0 14px; }
.cv-sim__course-words h2 em { color: var(--cv-orange); font-weight: 700; }
.cv-sim__course-words p { font-size: 20px; color: #324a65; }
.cv-sim__cta-details { display: flex; flex-wrap: wrap; gap: 7px 14px; margin: 18px 0 22px; font-size: 16px; color: #476a8c; font-weight: 900; }
.cv-sim__course-button { padding: 16px 22px; }
.cv-sim__endbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 22px; }
.cv-sim__endbar > span { color: #8291a5; font-size: 15px; }

.cv-sim__under-app { margin: 72px auto 0; max-width: 1080px; padding: 0 8px; }
.cv-sim__under-app > h2 { font: 700 clamp(34px,4vw,48px)/1.25 var(--cv-serif); margin: 10px 0 16px; }
.cv-sim__under-app > p:not(.cv-sim__privacy) { max-width: 900px; color: #4c5e76; font-size: 21px; }
.cv-sim__bottom-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 36px; }
.cv-sim__info-card {
  display: block; border-top: 1px solid #d6e4f2; padding: 18px 4px 8px; color: inherit; text-decoration: none !important;
}
.cv-sim__info-card--featured {
  border: 1px solid #d7e8fb; border-radius: 18px; background: linear-gradient(135deg, #eef6ff, #f9fcff); padding: 22px 22px 20px; box-shadow: 0 12px 26px rgba(13,64,124,.08);
}
.cv-sim__bottom-number { color: var(--cv-orange); font: 700 32px var(--cv-serif); }
.cv-sim__bottom-grid h3 { font-family: var(--cv-serif); font-size: 28px; font-weight: 700; margin: 8px 0 8px; letter-spacing: -.02em; }
.cv-sim__bottom-grid p { color: #54657d; font-size: 20px; }
.cv-sim__info-cta { display: inline-block; margin-top: 14px; color: var(--cv-orange); font-size: 19px; font-weight: 900; }
.cv-sim__privacy { margin-top: 42px !important; max-width: 900px; color: #8091a4; font-size: 14px; }

@media (max-width: 980px) {
  .cv-sim__hero-art { width: 280px; right: -80px; opacity: .35; }
  .cv-sim__hero-copy { max-width: 760px; }
  .cv-sim__hero p { font-size: 24px; }
  .cv-sim__hero-tags { font-size: 18px; }
  .cv-sim__scenario-content strong { font-size: 24px; }
  .cv-sim__scenario-content small, .cv-sim__panel-top p, .cv-sim__under-app > p:not(.cv-sim__privacy), .cv-sim__bottom-grid p { font-size: 19px; }
  .cv-sim__bubble, .cv-sim__composer textarea { font-size: 20px; }
  .cv-sim__bottom-grid h3 { font-size: 24px; }
}

@media (max-width: 720px) {
  .cv-sim { padding-bottom: 46px; font-size: 16px; }
  .cv-sim__shell { width: min(100% - 26px, 1180px); }
  .cv-sim__utility-row { justify-content: flex-start; padding: 18px 0 8px; }
  .cv-sim__brand-pill { font-size: 14px; padding: 9px 14px; }
  .cv-sim__pulse { width: 8px; height: 8px; box-shadow: 0 0 0 4px #ffebde; }
  .cv-sim__hero { min-height: auto; padding: 26px 0 28px; }
  .cv-sim__hero h1 { font-size: clamp(42px, 12vw, 58px); }
  .cv-sim__hero p { font-size: 19px; max-width: 94%; }
  .cv-sim__hero-tags { font-size: 15px; gap: 8px 14px; }
  .cv-sim__hero-art { right: -150px; opacity: .14; }
  .cv-sim__stepper { gap: 7px; font-size: 11px; margin-bottom: 16px; }
  .cv-sim__step { gap: 5px; }
  .cv-sim__step-rail { width: 9px; }
  .cv-sim__step-num { width: 23px; height: 23px; font-size: 10px; }
  .cv-sim__panel--choose { padding: 22px 16px 20px; }
  .cv-sim__panel-top h2, .cv-sim__chat-head h2 { font-size: 28px; }
  .cv-sim__panel-top p { font-size: 16px; }
  .cv-sim__scenario-grid { grid-template-columns: 1fr; gap: 12px; margin: 22px 0; }
  .cv-sim__scenario { min-height: 150px; padding: 18px; gap: 14px; }
  .cv-sim__scenario-check { top: 12px; right: 12px; width: 26px; height: 26px; font-size: 14px; }
  .cv-sim__scenario-icon { width: 52px; height: 52px; font-size: 27px; }
  .cv-sim__scenario-content strong { font-size: 22px; }
  .cv-sim__scenario-content small { font-size: 17px; margin-top: 6px; }
  .cv-sim__panel-footer { flex-direction: column; align-items: stretch; padding-top: 18px; gap: 14px; }
  .cv-sim__footer-note { font-size: 15px; }
  .cv-sim__primary, .cv-sim__secondary { width: 100%; font-size: 18px; }
  .cv-sim__chat-head { padding: 20px 16px 16px; align-items: flex-start; }
  .cv-sim__text-link { font-size: 16px; padding: 8px 12px; }
  .cv-sim__conversation-label { font-size: 12px; }
  .cv-sim__progress-label { padding: 10px 12px; font-size: 18px; }
  .cv-sim__progress-label span { font-size: 12px; }
  .cv-sim__chat-log { padding: 20px 12px; max-height: 430px; }
  .cv-sim__message { gap: 10px; margin-bottom: 18px; }
  .cv-sim__avatar { width: 40px; height: 40px; flex-basis: 40px; }
  .cv-sim__speaker { font-size: 14px; margin-bottom: 6px; }
  .cv-sim__bubble { padding: 14px 16px; font-size: 17px; border-radius: 18px; }
  .cv-sim__composer { padding: 18px 14px 20px; }
  .cv-sim__composer-heading strong { font-size: 20px; }
  .cv-sim__composer-heading span, .cv-sim__chat-help { font-size: 14px; }
  .cv-sim__composer textarea { min-height: 140px; padding: 16px; font-size: 18px; }
  .cv-sim__compose-bottom { flex-direction: column; align-items: stretch; }
  .cv-sim__prompt-link { text-align: left; font-size: 15px; }
  .cv-sim__panel--chat > .cv-sim__preview { margin: 0 14px 20px !important; }
  .cv-sim__loading-panel h2 { font-size: 28px; }
  .cv-sim__loading-panel p, .cv-sim__result-banner p, .cv-sim__course-words p { font-size: 17px; }
  .cv-sim__result-banner { gap: 14px; align-items: flex-start; }
  .cv-sim__result-icon { flex-basis: 48px; height: 48px; font-size: 20px; }
  .cv-sim__result-banner h2 { font-size: 27px; }
  .cv-sim__result-summary p, .cv-sim__feedback-box ul { font-size: 17px; }
  .cv-sim__feedback-grid { grid-template-columns: 1fr; }
  .cv-sim__feedback-box { min-height: 0; padding: 20px; }
  .cv-sim__feedback-box h3 { font-size: 22px; }
  .cv-sim__example-question blockquote { font-size: 23px; }
  .cv-sim__example-question p { font-size: 15px; }
  .cv-sim__course-cta { grid-template-columns: 1fr; }
  .cv-sim__course-decor { min-height: 110px; }
  .cv-sim__course-sun { top: 18px; right: 32px; width: 48px; height: 48px; }
  .cv-sim__course-ridge { height: 130%; }
  .cv-sim__course-words { padding: 24px 18px; }
  .cv-sim__course-words h2 { font-size: 30px; }
  .cv-sim__cta-details { font-size: 13px; }
  .cv-sim__under-app { margin-top: 46px; }
  .cv-sim__under-app > h2 { font-size: 30px; }
  .cv-sim__under-app > p:not(.cv-sim__privacy) { font-size: 17px; }
  .cv-sim__bottom-grid { grid-template-columns: 1fr; gap: 18px; }
  .cv-sim__bottom-grid h3 { font-size: 23px; }
  .cv-sim__bottom-grid p, .cv-sim__info-cta { font-size: 17px; }
  .cv-sim__privacy { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .cv-sim *, .cv-sim *::after, .cv-sim *::before { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}


/* v2.4.0: compact, theme-resistant, mobile-safe frontend layout.
   Rules are deliberately scoped to #cv-sim so the existing WordPress header is unchanged. */
#cv-sim { overflow-x: clip; font-size: 17px; padding-bottom: 44px; }
#cv-sim .cv-sim__shell { width: min(1160px, calc(100% - 36px)); max-width: 100%; }
#cv-sim h1,
#cv-sim h2,
#cv-sim h3,
#cv-sim .cv-sim__scenario-content strong,
#cv-sim .cv-sim__composer-heading strong,
#cv-sim .cv-sim__example-question blockquote { font-family: 'Halant', Georgia, serif !important; font-weight: 700; }
#cv-sim .cv-sim__utility-row { position: relative; height: 0; padding: 0; justify-content: flex-end; z-index: 3; }
#cv-sim .cv-sim__brand-pill { position: absolute; right: 0; top: 12px; padding: 7px 12px; font-size: 13px; }
#cv-sim .cv-sim__pulse { width: 7px; height: 7px; box-shadow: 0 0 0 3px #ffebde; }
#cv-sim .cv-sim__hero { min-height: 214px; padding: 28px 0 20px; }
#cv-sim .cv-sim__hero-copy { max-width: 780px; }
#cv-sim .cv-sim__hero h1 { font-size: clamp(44px, 4.7vw, 60px); line-height: 1.13; letter-spacing: -.025em; margin: 0 0 9px; }
#cv-sim .cv-sim__hero h1 em { font-weight: 700; }
#cv-sim .cv-sim__hero p { max-width: 720px; font-size: 19px; line-height: 1.55; }
#cv-sim .cv-sim__hero-tags { font-size: 15px; gap: 8px 17px; margin-top: 15px; }
#cv-sim .cv-sim__hero-art { transform: scale(.67); transform-origin: right bottom; right: -5px; bottom: -9px; }
#cv-sim .cv-sim__stepper { font-size: 13px; margin: 0 auto 13px; gap: 9px; }
#cv-sim .cv-sim__step { gap: 6px; }
#cv-sim .cv-sim__step-num { width: 27px; height: 27px; font-size: 12px; }
#cv-sim .cv-sim__step-rail { width: 28px; }
#cv-sim .cv-sim__panel { border-radius: 18px; }
#cv-sim .cv-sim__panel--choose { padding: 23px 29px 24px; }
#cv-sim .cv-sim__kicker, #cv-sim .cv-sim__tiny-title { font-size: 12px; }
#cv-sim .cv-sim__panel-top h2,
#cv-sim .cv-sim__chat-head h2 { font-size: clamp(31px, 3.25vw, 42px); line-height: 1.13; margin: 4px 0 4px; }
#cv-sim .cv-sim__panel-top p { font-size: 16px; line-height: 1.42; }
#cv-sim .cv-sim__scenario-grid { gap: 12px; margin: 21px 0; min-width: 0; }
/* Elementor/theme button rules must not turn these into orange CTA buttons. */
#cv-sim #cv-sim-app button.cv-sim__scenario,
#cv-sim #cv-sim-app button.cv-sim__scenario:hover,
#cv-sim #cv-sim-app button.cv-sim__scenario:active,
#cv-sim #cv-sim-app button.cv-sim__scenario:focus {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  min-height: 108px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 15px 18px !important;
  border: 2px solid #dce6f2 !important;
  border-radius: 14px !important;
  background: #fff !important;
  background-image: none !important;
  color: #122349 !important;
  text-align: left !important;
  white-space: normal !important;
  line-height: 1.4 !important;
  box-shadow: 0 4px 12px rgba(11, 39, 84, .055) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transform: none !important;
  overflow: visible !important;
  font-family: var(--cv-sans) !important;
}
#cv-sim #cv-sim-app button.cv-sim__scenario:hover { background: #f7fbff !important; border-color: #90b6dd !important; box-shadow: 0 7px 16px rgba(11, 39, 84, .095) !important; }
#cv-sim #cv-sim-app button.cv-sim__scenario.is-selected,
#cv-sim #cv-sim-app button.cv-sim__scenario.is-selected:hover,
#cv-sim #cv-sim-app button.cv-sim__scenario.is-selected:focus {
  background: #ebf5ff !important;
  border-color: #407ec0 !important;
  box-shadow: inset 0 0 0 1px #acc9e9, 0 6px 15px rgba(11,39,84,.085) !important;
}
#cv-sim #cv-sim-app button.cv-sim__scenario *,
#cv-sim #cv-sim-app button.cv-sim__scenario *::before,
#cv-sim #cv-sim-app button.cv-sim__scenario *::after {
  white-space: normal !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
  max-width: 100%;
  text-transform: none !important;
  letter-spacing: normal !important;
}
#cv-sim #cv-sim-app .cv-sim__scenario-icon { width: 52px; height: 52px; flex: 0 0 52px; display: grid; place-items: center; font-size: 26px; border-radius: 12px; }
#cv-sim #cv-sim-app .cv-sim__scenario-content { flex: 1 1 auto; display: block; min-width: 0; max-width: 100%; }
#cv-sim #cv-sim-app .cv-sim__scenario-content strong { display: block; font-size: 23px; line-height: 1.2; color: #122349 !important; }
#cv-sim #cv-sim-app .cv-sim__scenario-content small { display: block; font-size: 15px; line-height: 1.42; color: #34435a !important; margin-top: 4px; }
#cv-sim #cv-sim-app .cv-sim__scenario-check { position: absolute; top: 9px; right: 11px; width: 24px; height: 24px; font-size: 13px; }
#cv-sim .cv-sim__panel-footer { padding-top: 17px; }
#cv-sim .cv-sim__footer-note { font-size: 15px; }
#cv-sim .cv-sim__primary, #cv-sim .cv-sim__secondary { font-size: 16px; padding: 12px 18px; border-radius: 10px; }
#cv-sim .cv-sim__primary--small { font-size: 16px; padding: 11px 16px; }
/* Chat occupies less height while remaining comfortable to read. */
#cv-sim .cv-sim__chat-head { padding: 19px 27px 15px; }
#cv-sim .cv-sim__chat-head h2 { margin: 8px 0 4px; }
#cv-sim .cv-sim__text-link { font-size: 14px; padding: 8px 12px; }
#cv-sim .cv-sim__conversation-label { font-size: 12px; }
#cv-sim .cv-sim__progress-label { font-size: 21px; padding: 11px 15px; }
#cv-sim .cv-sim__progress-label span { font-size: 14px; }
#cv-sim .cv-sim__chat-log { padding: 20px 24px; max-height: 330px; }
#cv-sim .cv-sim__message { gap: 12px; margin-bottom: 16px; max-width: 100%; min-width: 0; }
#cv-sim .cv-sim__message-body { min-width: 0; }
#cv-sim .cv-sim__avatar { width: 46px; height: 46px; flex-basis: 46px; }
#cv-sim .cv-sim__speaker { font-size: 14px; margin-bottom: 5px; }
#cv-sim .cv-sim__bubble { font-size: 18px; color: #111 !important; padding: 14px 17px; line-height: 1.5; overflow-wrap: anywhere; }
#cv-sim .cv-sim__composer { padding: 19px 27px 22px; }
#cv-sim .cv-sim__composer-heading { margin-bottom: 8px; }
#cv-sim .cv-sim__composer-heading strong { font-size: 23px; }
#cv-sim .cv-sim__composer-heading span { font-size: 14px; }
#cv-sim .cv-sim__composer textarea { min-height: 108px; max-height: 190px; padding: 13px 15px; font-size: 18px; line-height: 1.5; color: #111 !important; }
#cv-sim .cv-sim__compose-bottom { margin-top: 10px; }
#cv-sim .cv-sim__prompt-link { font-size: 14px; }
#cv-sim .cv-sim__chat-help { font-size: 13px; margin-top: 9px !important; }
#cv-sim .cv-sim__under-app { margin-top: 46px; }
#cv-sim .cv-sim__under-app > h2 { font-size: clamp(30px,3vw,38px); }
#cv-sim .cv-sim__under-app > p:not(.cv-sim__privacy) { font-size: 17px; }
#cv-sim .cv-sim__bottom-grid { margin-top: 22px; }
#cv-sim .cv-sim__bottom-grid h3 { font-size: 23px; }
#cv-sim .cv-sim__bottom-grid p { font-size: 16px; }
#cv-sim .cv-sim__privacy { margin-top: 28px !important; font-size: 13px; }
@media (max-width: 960px) {
  #cv-sim .cv-sim__hero-copy { max-width: 700px; }
  #cv-sim .cv-sim__hero-art { opacity: .18; }
}
@media (max-width: 720px) {
  #cv-sim { position: relative; left: auto; transform: none; width: 100% !important; max-width: 100% !important; padding-bottom: 32px; }
  #cv-sim .cv-sim__shell { width: calc(100% - 24px); max-width: 100%; }
  #cv-sim .cv-sim__utility-row { height: auto; padding: 10px 0 0; }
  #cv-sim .cv-sim__brand-pill { position: static; font-size: 12px; padding: 6px 10px; }
  #cv-sim .cv-sim__hero { padding: 12px 0 20px; min-height: 0; }
  #cv-sim .cv-sim__hero h1 { font-size: clamp(37px, 9.5vw, 46px); line-height: 1.08; }
  #cv-sim .cv-sim__hero p { font-size: 16px; max-width: 100%; }
  #cv-sim .cv-sim__hero-tags { font-size: 13px; gap: 4px 12px; margin-top: 12px; }
  #cv-sim .cv-sim__hero-art { display: none; }
  #cv-sim .cv-sim__stepper { font-size: 10px; gap: 5px; margin-bottom: 12px; width: 100%; }
  #cv-sim .cv-sim__step { gap: 4px; }
  #cv-sim .cv-sim__step-rail { width: 8px; }
  #cv-sim .cv-sim__step-num { width: 20px; height: 20px; font-size: 10px; }
  #cv-sim .cv-sim__panel--choose { padding: 19px 15px; }
  #cv-sim .cv-sim__panel-top h2, #cv-sim .cv-sim__chat-head h2 { font-size: 31px; }
  #cv-sim .cv-sim__panel-top p { font-size: 15px; }
  #cv-sim .cv-sim__scenario-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 10px; margin: 17px 0; }
  #cv-sim #cv-sim-app button.cv-sim__scenario { padding: 12px 14px !important; min-height: 89px !important; gap: 12px !important; }
  #cv-sim #cv-sim-app .cv-sim__scenario-icon { width: 45px; height: 45px; flex-basis: 45px; font-size: 23px; }
  #cv-sim #cv-sim-app .cv-sim__scenario-content strong { font-size: 21px; }
  #cv-sim #cv-sim-app .cv-sim__scenario-content small { font-size: 14px; }
  #cv-sim #cv-sim-app .cv-sim__scenario-check { width: 20px; height: 20px; top: 7px; right: 7px; }
  #cv-sim .cv-sim__panel-footer { gap: 12px; padding-top: 13px; }
  #cv-sim .cv-sim__footer-note { font-size: 13px; }
  #cv-sim .cv-sim__primary, #cv-sim .cv-sim__secondary { font-size: 16px; padding: 12px 16px; }
  #cv-sim .cv-sim__chat-head { padding: 16px 14px 13px; }
  #cv-sim .cv-sim__chat-head h2 { font-size: 28px; }
  #cv-sim .cv-sim__conversation-label { font-size: 10px; }
  #cv-sim .cv-sim__progress-label { font-size: 17px; padding: 7px 9px; }
  #cv-sim .cv-sim__progress-label span { font-size: 11px; }
  #cv-sim .cv-sim__chat-log { padding: 16px 12px; max-height: 290px; }
  #cv-sim .cv-sim__avatar { width: 38px; height: 38px; flex-basis: 38px; }
  #cv-sim .cv-sim__message { gap: 9px; margin-bottom: 12px; }
  #cv-sim .cv-sim__speaker { font-size: 12px; }
  #cv-sim .cv-sim__bubble { font-size: 16px; padding: 11px 13px; }
  #cv-sim .cv-sim__composer { padding: 16px 13px 19px; }
  #cv-sim .cv-sim__composer-heading strong { font-size: 21px; }
  #cv-sim .cv-sim__composer-heading span { font-size: 13px; }
  #cv-sim .cv-sim__composer textarea { min-height: 100px; font-size: 16px; padding: 12px 13px; }
  #cv-sim .cv-sim__chat-help { font-size: 12px; }
  #cv-sim .cv-sim__under-app { margin-top: 35px; }
  #cv-sim .cv-sim__under-app > h2 { font-size: 29px; }
  #cv-sim .cv-sim__bottom-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  #cv-sim .cv-sim__bottom-grid h3 { font-size: 23px; }
  #cv-sim .cv-sim__bottom-grid p { font-size: 16px; }
}
@media (max-width: 370px) {
  #cv-sim .cv-sim__stepper { font-size: 9px; }
  #cv-sim .cv-sim__step-rail { display: none; }
  #cv-sim #cv-sim-app .cv-sim__scenario-content strong { font-size: 19px; }
}
/* Visible selection marker only for the selected card. */
#cv-sim #cv-sim-app .cv-sim__scenario-check:empty { display: none !important; }
/* Keep non-card controls readable if a theme applies !important button defaults. */
#cv-sim #cv-sim-app button.cv-sim__text-link {
  background: #eaf3fc !important; color: #123b75 !important; border: 1px solid #cbdff2 !important;
  text-align: left !important; text-transform: none !important; letter-spacing: normal !important;
  white-space: normal !important; padding: 8px 12px !important; box-shadow: none !important;
}
#cv-sim #cv-sim-app button.cv-sim__prompt-link {
  display: inline-block !important; width: auto !important;
  background: transparent !important; color: #1d5f9d !important; border: 0 !important;
  text-align: left !important; text-transform: none !important; letter-spacing: normal !important;
  white-space: normal !important; padding: 5px 0 !important; box-shadow: none !important;
}
#cv-sim #cv-sim-app button.cv-sim__primary,
#cv-sim #cv-sim-app button.cv-sim__primary:hover {
  background-color: #ee5108 !important; color: #fff !important; text-align: center !important;
  text-transform: none !important; letter-spacing: normal !important; white-space: normal !important;
}
#cv-sim #cv-sim-app button.cv-sim__secondary {
  background: #fff !important; color: #0b2b68 !important; text-transform: none !important;
  letter-spacing: normal !important; white-space: normal !important;
}
