/**
 * Engineer Tsai full-site visual adapter v0.4.1
 * Scope: body.etvs only. Homepage and Practice Lab never receive this class.
 */

body.etvs {
  --etvs-ink: #06182e;
  --etvs-ink-deep: #04101f;
  --etvs-ink-raised: #0b2335;
  --etvs-paper: #f4f0e8;
  --etvs-paper-raised: #fffdf8;
  --etvs-paper-muted: #e9e4da;
  --etvs-text: #0a1b2c;
  --etvs-muted: #66727d;
  --etvs-line: rgba(6, 24, 46, 0.16);
  --etvs-line-dark: rgba(142, 185, 205, 0.24);
  --etvs-cyan: #62d7e5;
  --etvs-blue: #1768f2;
  --etvs-copper: #dc7d4f;
  --etvs-gold: #d7b45b;
  --etvs-success: #147556;
  --etvs-danger: #b54136;
  --etvs-sans: Inter, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  --etvs-display: "Iowan Old Style", Baskerville, "Noto Serif TC", "Times New Roman", serif;
  --etvs-shadow: 0 24px 70px rgba(1, 14, 29, 0.22);
  background: var(--etvs-ink-deep);
  color: var(--etvs-text);
  font-family: var(--etvs-sans);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

body.etvs :where(*, *::before, *::after) { box-sizing: border-box; }
body.etvs :where(button, input, select, textarea) { font: inherit; }
body.etvs :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--etvs-cyan);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgba(98, 215, 229, 0.28);
}

body.etvs .et-header {
  background: rgba(4, 16, 31, 0.94);
  border-bottom-color: var(--etvs-line-dark);
  font-family: var(--etvs-sans);
}

body.etvs .et-hero h1,
body.etvs .et-paper :where(h1, h2),
body.etvs .entry-content :where(h1, h2),
body.etvs .woocommerce :where(.product_title, .woocommerce-products-header__title),
body.etvs :where(#bbpress-forums, .wpforo-main) h1,
body.etvs :where(#bbpress-forums, .wpforo-main) h2 {
  font-family: var(--etvs-display);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.12;
  text-wrap: balance;
}

body.etvs .et-hero h1 { font-size: clamp(2rem, 4vw, 4.25rem); }
body.etvs .et-hero .et-lead { color: #c8d5df; font-size: clamp(1rem, 1.8vw, 1.18rem); }

body.etvs .et-paper,
body.etvs .site-main > article,
body.etvs .entry-content > .wp-block-group,
body.etvs .woocommerce-notices-wrapper + .woocommerce {
  background: var(--etvs-paper-raised);
  border: 1px solid var(--etvs-line);
  border-radius: 1.25rem;
  box-shadow: var(--etvs-shadow);
}

body.etvs .et-paper { padding: clamp(1.2rem, 4vw, 3rem); }
/* 0.4.2: dark cards inside the paper (etos-cta end cards except brief, the roadmap CTA)
   keep their own light text. :not(:where(...)) adds no specificity, so every other override still wins as before. */
body.etvs .et-paper :where(p, li):not(:where(.etos-cta--endcard:not(.etos-cta--brief), .etrm-cta) *) { color: #243443; }
body.etvs .et-paper :where(h2, h3) { margin-top: 1.7em; }
body.etvs .et-paper :where(h2, h3):not(:where(.etos-cta--endcard:not(.etos-cta--brief), .etrm-cta) *) { color: var(--etvs-ink); }
body.etvs .et-paper h2::before {
  background: var(--etvs-copper);
  content: "";
  display: inline-block;
  height: 0.78em;
  margin-inline-end: 0.55rem;
  width: 3px;
}

body.etvs .et-paper :where(a:not(.button):not(.wp-element-button)):not(:where(.etos-cta--endcard:not(.etos-cta--brief), .etrm-cta) *) {
  color: #0759d5;
  text-decoration-color: rgba(7, 89, 213, 0.35);
  text-underline-offset: 0.18em;
}

body.etvs :where(.button, button.button, .wp-element-button, .wp-block-button__link, input[type="submit"]),
body.etvs .woocommerce :where(a.button, button.button, input.button),
body.etvs .wc-block-components-button {
  align-items: center;
  background: var(--etvs-blue);
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 3rem;
  padding: 0.72rem 1.35rem;
  text-decoration: none;
  transition: transform 140ms ease, filter 140ms ease;
}

body.etvs :where(.button, button.button, .wp-element-button, .wp-block-button__link, input[type="submit"]):hover,
body.etvs .woocommerce :where(a.button, button.button, input.button):hover,
body.etvs .wc-block-components-button:hover { filter: brightness(1.06); transform: translateY(-1px); }

body.etvs .et-paper :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea),
body.etvs .woocommerce :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea),
body.etvs :where(#bbpress-forums, .wpforo-main) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
  background: #fff;
  border: 1px solid #a8b1b8;
  border-radius: 0.7rem;
  color: var(--etvs-text);
  min-height: 2.85rem;
  padding: 0.65rem 0.8rem;
  width: 100%;
}

body.etvs .et-paper :where(label, legend),
body.etvs .woocommerce :where(label, legend) { color: var(--etvs-ink); font-weight: 700; }

body.etvs .et-paper :where(table, .wp-block-table table),
body.etvs .woocommerce table.shop_table,
body.etvs :where(#bbpress-forums, .wpforo-main) table {
  border: 1px solid var(--etvs-line);
  border-collapse: separate;
  border-radius: 0.85rem;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}

body.etvs .et-paper :where(th, td),
body.etvs .woocommerce table.shop_table :where(th, td),
body.etvs :where(#bbpress-forums, .wpforo-main) :where(th, td) {
  border-bottom: 1px solid var(--etvs-line);
  padding: 0.85rem 1rem;
  text-align: start;
}

body.etvs .et-paper th,
body.etvs .woocommerce table.shop_table th,
body.etvs :where(#bbpress-forums, .wpforo-main) th { background: var(--etvs-paper-muted); color: var(--etvs-ink); }

body.etvs--article .et-paper,
body.etvs--standard .et-paper { max-width: 920px; }

body.etvs--listing :where(.et-card, .wp-block-post, article),
body.etvs--shop .woocommerce ul.products li.product,
body.etvs--product .woocommerce div.product,
body.etvs--community :where(#bbpress-forums, .wpforo-main),
body.etvs--member .et-paper > :where(div, section) {
  border-color: var(--etvs-line);
  border-radius: 1rem;
}

body.etvs--tool .et-paper :where(form, .et-tool, .calculator, [class*="calculator"], [class*="tool-"], [id*="diagnostic"]) {
  background: var(--etvs-paper);
  border: 1px solid var(--etvs-line);
  border-radius: 1rem;
  padding: clamp(1rem, 3vw, 1.75rem);
}

body.etvs .woocommerce :where(.price, .amount) { color: var(--etvs-ink); font-weight: 800; }
body.etvs .woocommerce :where(.woocommerce-message, .woocommerce-info) {
  background: #e9f7f6;
  border: 1px solid rgba(20, 117, 86, 0.28);
  border-radius: 0.85rem;
  color: #0d503c;
  padding: 0.9rem 1rem;
}
body.etvs .woocommerce .woocommerce-error {
  background: #fff0ed;
  border: 1px solid rgba(181, 65, 54, 0.3);
  border-radius: 0.85rem;
  color: #7b2a24;
  padding: 0.9rem 1rem;
}

body.etvs :where(.wc-block-cart, .wc-block-checkout, .woocommerce-cart-form, .woocommerce-checkout, .woocommerce-MyAccount-content),
body.etvs--account .woocommerce-MyAccount-navigation,
body.etvs--member :where(.etos-member, .et-member-card, [class*="member-"]) {
  background: var(--etvs-paper-raised);
  border: 1px solid var(--etvs-line);
  border-radius: 1rem;
  color: var(--etvs-text);
}

body.etvs--account .woocommerce-MyAccount-navigation { padding: 0.75rem; }
body.etvs--account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.etvs--account .woocommerce-MyAccount-navigation a {
  border-radius: 0.65rem;
  color: var(--etvs-ink);
  display: block;
  font-weight: 750;
  padding: 0.65rem 0.8rem;
  text-decoration: none;
}
body.etvs--account .woocommerce-MyAccount-navigation .is-active a { background: var(--etvs-ink); color: #fff; }

body.etvs--community :where(#bbpress-forums, .wpforo-main) {
  background: var(--etvs-paper-raised);
  color: var(--etvs-text);
  padding: clamp(1rem, 3vw, 2rem);
}

body.etvs--member-center .et-paper {
  max-width: 1180px;
  overflow: clip;
}

body.etvs--member-center .et-prose { font-size: 1rem; }

body.etvs--member-center .etvs-learning-index {
  background: linear-gradient(135deg, rgba(98, 215, 229, 0.13), rgba(23, 104, 242, 0.08)), var(--etvs-ink);
  border: 1px solid rgba(98, 215, 229, 0.32);
  border-radius: 1rem;
  color: #fff;
  margin: 2rem 0 2.5rem;
  padding: clamp(1rem, 3vw, 1.6rem);
}

body.etvs--member-center .etvs-learning-index__label {
  color: var(--etvs-cyan);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

body.etvs--member-center .etvs-learning-index__links {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.etvs--member-center .etvs-learning-index__links a {
  align-items: center;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.75rem;
  color: #fff;
  display: flex;
  font-weight: 750;
  min-height: 3.25rem;
  padding: 0.72rem 0.9rem;
  text-decoration: none;
}

body.etvs--member-center .etvs-learning-index__links a::after {
  color: var(--etvs-cyan);
  content: "\2198";
  margin-inline-start: auto;
}

body.etvs--member-center .etvs-learning-index__links a:hover {
  background: rgba(98, 215, 229, 0.14);
  border-color: rgba(98, 215, 229, 0.48);
}

body.etvs--member-center .etvs-occupation-heading,
body.etvs--member-center .etvs-route-heading { scroll-margin-top: 7rem; }

body.etvs--member-center .etvs-occupation-list {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 1.25rem 0 3rem;
  padding: 0;
}

body.etvs--member-center .etvs-occupation-list > li {
  background: var(--etvs-paper);
  border: 1px solid var(--etvs-line);
  border-radius: 0.8rem;
  color: #43515d;
  padding: 0.9rem 1rem;
}

body.etvs--member-center .etvs-occupation-list > li > a {
  color: var(--etvs-ink);
  display: block;
  font-weight: 850;
  margin-bottom: 0.2rem;
  text-decoration: none;
}

body.etvs--member-center .etvs-route-heading {
  background: var(--etvs-ink);
  border-left: 4px solid var(--etvs-copper);
  border-radius: 0.85rem;
  color: #fff;
  margin: 3.2rem 0 0;
  padding: 1rem 1.15rem;
}

body.etvs--member-center .etvs-route-heading::before { content: none; }

body.etvs--member-center .etvs-route-meta {
  background: rgba(23, 104, 242, 0.07);
  border: 1px solid rgba(23, 104, 242, 0.16);
  border-radius: 0 0 0.75rem 0.75rem;
  color: #33485b;
  margin: 0 0 1.1rem;
  padding: 0.8rem 1rem;
}

body.etvs--member-center .etvs-route-steps {
  counter-reset: etvs-step;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

body.etvs--member-center .etvs-route-steps > li {
  background: #fff;
  border: 1px solid var(--etvs-line);
  border-radius: 0.9rem;
  box-shadow: 0 10px 28px rgba(6, 24, 46, 0.07);
  counter-increment: etvs-step;
  min-width: 0;
  padding: 1rem 1rem 0.95rem 3.7rem;
  position: relative;
}

body.etvs--member-center .etvs-route-steps > li::before {
  align-items: center;
  background: var(--etvs-ink);
  border-radius: 999px;
  color: var(--etvs-cyan);
  content: counter(etvs-step, decimal-leading-zero);
  display: flex;
  font-size: 0.7rem;
  font-weight: 900;
  height: 2.05rem;
  justify-content: center;
  left: 1rem;
  letter-spacing: 0.04em;
  position: absolute;
  top: 0.9rem;
  width: 2.05rem;
}

body.etvs--member-center .etvs-route-steps > li > ul {
  border-top: 1px solid var(--etvs-line);
  list-style: none;
  margin: 0.8rem 0 0;
  padding: 0.7rem 0 0;
}

body.etvs--member-center .etvs-route-steps > li > ul > li {
  color: var(--etvs-muted);
  margin: 0.38rem 0;
  padding-left: 1rem;
  position: relative;
}

body.etvs--member-center .etvs-route-steps > li > ul > li::before {
  color: var(--etvs-copper);
  content: "\2022";
  left: 0;
  position: absolute;
}

body.etvs--member-center .etvs-route-steps a {
  font-weight: 700;
  overflow-wrap: anywhere;
}

body.etvs--roadmap .et-paper {
  max-width: 1040px;
  overflow: clip;
}

body.etvs--roadmap .et-prose > details.wp-block-details:first-child {
  background: var(--etvs-ink);
  border: 1px solid rgba(98, 215, 229, 0.28);
  border-radius: 1rem;
  color: #fff;
  margin: 0 0 1.5rem;
  padding: 0.85rem 1rem;
}

body.etvs--roadmap .et-prose > details.wp-block-details:first-child > summary {
  color: var(--etvs-cyan);
  cursor: pointer;
  font-weight: 850;
  letter-spacing: 0.03em;
  min-height: 2.5rem;
  padding: 0.45rem 0;
}

body.etvs--roadmap #rank-math-toc h2 { color: #fff; font-size: 1.1rem; }

body.etvs--roadmap #rank-math-toc nav > ul {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
}

body.etvs--roadmap #rank-math-toc nav > ul > li { margin: 0; }

body.etvs--roadmap #rank-math-toc a {
  align-items: center;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.7rem;
  color: #fff;
  display: flex;
  min-height: 3rem;
  padding: 0.65rem 0.8rem;
  text-decoration: none;
}

body.etvs--roadmap #rank-math-toc a:hover {
  background: rgba(98, 215, 229, 0.14);
  border-color: rgba(98, 215, 229, 0.42);
}

body.etvs--roadmap .wp-block-cover {
  border: 1px solid var(--etvs-line);
  border-radius: 1.1rem;
  box-shadow: 0 20px 48px rgba(6, 24, 46, 0.13);
  margin: 1.5rem 0 2rem;
  overflow: hidden;
}

body.etvs--roadmap .wp-block-cover .wp-block-cover__inner-container p {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0.8rem;
  line-height: 1.75;
  margin: 0 auto;
  max-width: 46rem;
  padding: clamp(1rem, 3vw, 1.5rem);
}

body.etvs--roadmap .et-prose > h3 {
  background: linear-gradient(135deg, rgba(23, 104, 242, 0.08), rgba(98, 215, 229, 0.08));
  border-left: 4px solid var(--etvs-copper);
  border-radius: 0.8rem;
  color: var(--etvs-ink);
  margin: 2.5rem 0 1rem;
  padding: 0.85rem 1rem;
  scroll-margin-top: 7rem;
}

body.etvs--roadmap .et-prose > :where(ul.wp-block-list, ol.wp-block-list) {
  background: #fff;
  border: 1px solid var(--etvs-line);
  border-radius: 0.9rem;
  box-shadow: 0 10px 28px rgba(6, 24, 46, 0.06);
  margin: 1rem 0 1.5rem;
  padding: 1rem 1.1rem 1rem 2.5rem;
}

body.etvs--roadmap .et-prose > :where(ul.wp-block-list, ol.wp-block-list) > li {
  margin: 0.55rem 0;
  padding-left: 0.25rem;
}

body.etvs--roadmap .et-prose > p:has(> strong:first-child) {
  background: rgba(238, 128, 76, 0.08);
  border: 1px solid rgba(238, 128, 76, 0.2);
  border-radius: 0.8rem;
  color: #33485b;
  padding: 0.8rem 0.95rem;
}

body.etvs--roadmap .ml-embedded[data-form="K7msbq"] {
  background: linear-gradient(135deg, rgba(98, 215, 229, 0.1), rgba(23, 104, 242, 0.06));
  border: 1px dashed rgba(23, 104, 242, 0.35);
  border-radius: 1rem;
  margin: 1.25rem 0 2rem;
  min-height: 5rem;
  padding: 1rem;
}

body.etvs--roadmap .wp-block-buttons {
  background: var(--etvs-ink);
  border-radius: 0.9rem;
  padding: 0.85rem;
}

body.etvs--roadmap .wp-block-button__link {
  background: var(--etvs-copper);
  border-radius: 0.7rem;
  color: #fff;
  font-weight: 850;
  min-height: 3rem;
  padding: 0.75rem 1rem;
}

body.etvs--roadmap :where(summary, a, input, button):focus-visible {
  outline: 3px solid var(--etvs-focus);
  outline-offset: 3px;
}

body.etvs--career-guide {
  background: linear-gradient(180deg, var(--etvs-ink-deep) 0 30rem, var(--etvs-paper) 30rem 100%);
}

body.etvs--career-guide .et-canvas {
  background: var(--etvs-paper);
  color: var(--etvs-text);
}

body.etvs--career-guide .hero-wrap.wp-block-cover {
  border-bottom: 1px solid rgba(98, 215, 229, 0.2);
  min-height: clamp(31rem, 54vw, 43rem);
  overflow: hidden;
}

body.etvs--career-guide .hero-wrap .wp-block-cover__inner-container {
  margin-inline: auto;
  max-width: 1180px;
  padding: clamp(1.5rem, 5vw, 4rem);
  width: 100%;
}

body.etvs--career-guide .hero-wrap .hero-eyebrow {
  color: var(--etvs-cyan) !important;
  font-size: 0.76rem !important;
  font-weight: 850;
  letter-spacing: 0.11em;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

body.etvs--career-guide .hero-wrap .hero-title {
  color: #fff !important;
  font-family: var(--etvs-display);
  font-size: clamp(2.35rem, 5vw, 5rem) !important;
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.02;
  max-width: 12ch;
  text-wrap: balance;
}

body.etvs--career-guide .hero-wrap .hero-sub {
  color: #e6edf2 !important;
  font-size: clamp(1rem, 1.6vw, 1.18rem) !important;
  line-height: 1.75;
  max-width: 34rem;
}

body.etvs--career-guide .hero-wrap .hero-credit { color: #b7c7d2 !important; }

body.etvs--career-guide .hero-wrap .wp-block-buttons { gap: 0.7rem; }

body.etvs--career-guide .hero-wrap .wp-block-button__link {
  min-height: 3.2rem;
  padding-inline: 1.4rem;
}

body.etvs--career-guide .hero-wrap .et-hero-btn--secondary .wp-block-button__link {
  background: rgba(4, 16, 31, 0.42);
  border-color: rgba(255, 255, 255, 0.72);
}

body.etvs--career-guide :where(.et-canvas > .wp-block-group:not(.alignfull), .et-paper .et-prose) {
  margin-inline: auto;
  max-width: 1180px;
}

body.etvs--career-guide .et-paper {
  max-width: 1180px;
  overflow: clip;
}

body.etvs--career-guide :where(.et-canvas, .et-prose) > p {
  font-size: 1.04rem;
  line-height: 1.82;
}

body.etvs--career-guide :where(.et-canvas, .et-prose) > h2 {
  color: var(--etvs-ink);
  font-family: var(--etvs-display);
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  font-weight: 550;
  letter-spacing: -0.025em;
  line-height: 1.18;
  margin-top: clamp(3rem, 6vw, 5.5rem);
  text-wrap: balance;
}

body.etvs--career-guide .et-cta-bar {
  align-items: center;
  background: linear-gradient(135deg, var(--etvs-ink), #12344a);
  border: 1px solid rgba(98, 215, 229, 0.28);
  border-radius: 1rem;
  box-shadow: 0 18px 42px rgba(3, 18, 33, 0.18);
  color: #fff;
  gap: 1rem;
  margin-block: 1.5rem;
  padding: clamp(1rem, 3vw, 1.5rem);
}

body.etvs--career-guide .et-cta-bar :where(p, h2, h3) { color: #fff; }

body.etvs--career-guide .et-cta-bar .wp-block-button__link { background: var(--etvs-copper); }

body.etvs--career-guide .et-step,
body.etvs--career-guide .et-card,
body.etvs--career-guide .et-entry,
body.etvs--career-guide .et-latest-simple {
  background: #fff;
  border: 1px solid var(--etvs-line);
  border-radius: 1rem;
  box-shadow: 0 12px 32px rgba(6, 24, 46, 0.08);
  min-width: 0;
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

body.etvs--career-guide .et-step {
  border-top: 4px solid var(--etvs-copper);
  height: 100%;
}

body.etvs--career-guide .et-step-label {
  color: #65727e;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.etvs--career-guide .et-stats {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: 1.5rem 2rem;
}

body.etvs--career-guide .et-stat {
  background: #fff;
  border: 1px solid var(--etvs-line);
  border-radius: 1rem;
  box-shadow: 0 12px 30px rgba(6, 24, 46, 0.07);
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
}

body.etvs--career-guide .et-stat--blue { border-top: 4px solid var(--etvs-blue); }
body.etvs--career-guide .et-stat--green { border-top: 4px solid var(--etvs-success); }
body.etvs--career-guide .et-stat--orange { border-top: 4px solid var(--etvs-copper); }

body.etvs--career-guide .et-stat-number {
  color: var(--etvs-ink);
  font-family: var(--etvs-display);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1;
}

body.etvs--career-guide .et-emailbar-wrap {
  background: linear-gradient(135deg, rgba(98, 215, 229, 0.13), rgba(23, 104, 242, 0.1)), var(--etvs-ink);
  border: 1px solid rgba(98, 215, 229, 0.3);
  border-radius: 1rem;
  color: #fff;
  margin-block: 2rem;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 1.6rem);
}

body.etvs--career-guide .et-emailbar-wrap :where(h2, h3, p) { color: #fff; }

body.etvs--career-guide .et-emailbar-wrap .ml-embedded {
  background: rgba(255, 255, 255, 0.06);
  border: 1px dashed rgba(255, 255, 255, 0.28);
  border-radius: 0.8rem;
  min-height: 5rem;
  padding: 0.85rem;
}

body.etvs--career-guide .et-card :where(h3, .wp-block-heading),
body.etvs--career-guide .et-entry :where(h3, .wp-block-heading) {
  color: var(--etvs-ink);
  margin-top: 0;
}

body.etvs--career-guide :where(.et-step, .et-card, .et-entry, .et-latest-simple) a:not(.wp-element-button) {
  color: #0759d5;
  font-weight: 720;
  overflow-wrap: anywhere;
  text-underline-offset: 0.18em;
}

body.etvs--career-guide #roadmap,
body.etvs--career-guide #emailbar,
body.etvs--career-guide #starter { scroll-margin-top: 7rem; }

body.etvs--career-guide :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--etvs-cyan);
  outline-offset: 3px;
}

body.etvs .et-footer { background: var(--etvs-ink-deep); border-top-color: var(--etvs-line-dark); }

@media (max-width: 720px) {
  body.etvs .et-paper { border-radius: 0.9rem; padding: 1.15rem; }
  body.etvs .et-hero h1 { font-size: clamp(1.85rem, 10vw, 3rem); }
  body.etvs .et-paper :where(table, .wp-block-table),
  body.etvs .woocommerce :where(.shop_table, .woocommerce-cart-form),
  body.etvs :where(#bbpress-forums, .wpforo-main) table { display: block; max-width: 100%; overflow-x: auto; }
  body.etvs :where(.wc-block-cart, .wc-block-checkout) { padding: 0.8rem; }
  body.etvs--member-center .etvs-learning-index__links,
  body.etvs--member-center .etvs-occupation-list,
  body.etvs--member-center .etvs-route-steps { grid-template-columns: 1fr; }
  body.etvs--member-center .etvs-route-steps > li { padding-right: 0.85rem; }
  body.etvs--roadmap #rank-math-toc nav > ul { grid-template-columns: 1fr; }
  body.etvs--roadmap .wp-block-cover { min-height: 24rem; }
  body.etvs--career-guide { background: var(--etvs-paper); }
  body.etvs--career-guide .hero-wrap.wp-block-cover { min-height: 38rem; }
  body.etvs--career-guide .hero-wrap .wp-block-cover__inner-container { padding: 1.25rem; }
  body.etvs--career-guide .hero-wrap .hero-title { font-size: clamp(2.15rem, 12vw, 3.35rem) !important; }
  body.etvs--career-guide .hero-wrap .wp-block-buttons { align-items: stretch; flex-direction: column; }
  body.etvs--career-guide .hero-wrap .wp-block-button { width: 100%; }
  body.etvs--career-guide .hero-wrap .wp-block-button__link { width: 100%; }
  body.etvs--career-guide .et-stats { grid-template-columns: 1fr; }
  body.etvs--career-guide .et-cta-bar { border-radius: 0.85rem; }
}

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