/* Scoped exclusively to the Position Size Calculator; shared chrome stays untouched. */
.fps-page {
  --fps-blue: var(--fte20-primary, #2563eb);
  --fps-navy: var(--fte20-dark, #0b1220);
  --fps-text: var(--fte20-text, #111827);
  --fps-muted: #35496a;
  --fps-border: var(--fte20-border, #e2e8f0);
  --fps-green: #087b36;
  --fps-red: var(--fte20-negative, #dc2626);
  color: var(--fps-navy);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  background: #f7fafc;
  padding: 0 0 24px;
}
.fps-page *, .fps-page *::before, .fps-page *::after { box-sizing: border-box; }
.fps-page .fps-wrap { width: min(1100px, calc(100% - 48px)); margin: 0 auto; }
.fps-page h1, .fps-page h2, .fps-page h3, .fps-page p { margin: 0; color: inherit; }
.fps-page a { color: inherit; text-decoration: none; }
.fps-page button, .fps-page input { font: inherit; }
.fps-page button { cursor: pointer; }
.fps-page :focus-visible { outline: 3px solid var(--fps-blue); outline-offset: 3px; }
.fps-page [hidden] { display: none !important; }
.fps-page .fps-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 14px 0 18px; font-size: 11px; }
.fps-page .fps-crumb a:hover { text-decoration: underline; }
.fps-page .fps-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 12px; align-items: center; padding: 8px 10px 20px; }
.fps-page .fps-kicker { font-size: 11px; color: var(--fps-blue); letter-spacing: .035em; margin-bottom: 6px; }
.fps-page h1 { max-width: 410px; font-size: 40px; line-height: 1.05; letter-spacing: -.025em; font-weight: 750; margin-bottom: 10px; }
.fps-page .fps-lead { font-size: 16px; line-height: 1.4; max-width: 530px; }
.fps-page .fps-subtitle { font-size: 14px; margin-top: 8px; }
.fps-page .fps-hero img { width: 100%; max-width: 520px; height: auto; display: block; justify-self: end; }
.fps-page .fps-card { min-width: 0; border: 1px solid var(--fps-border); border-radius: 10px; padding: 14px 16px; background: #fff; box-shadow: 0 3px 8px rgba(23,51,82,.035); }
.fps-page .fps-card h2 { display: flex; gap: 11px; align-items: center; font-size: 16px; letter-spacing: -.02em; margin-bottom: 12px; line-height: 1.4; font-weight: 700; }
.fps-page .fps-icon { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 29px; border-radius: 5px; background: #eff6ff; color: var(--fps-blue); flex-shrink: 0; }
.fps-page svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.fps-page .fps-calculator-grid { display: grid; grid-template-columns: 1.06fr 1fr; gap: 14px; margin-bottom: 16px; align-items: stretch; }
.fps-page .fps-input { padding: 15px; }
.fps-page .fps-input h2, .fps-page .fps-results h2 { font-size: 18px; margin-bottom: 14px; }
.fps-page .fps-field { display: grid; grid-template-columns: 151px minmax(0,1fr); gap: 10px; margin-bottom: 18px; align-items: start; }
.fps-page .fps-field label, .fps-page .fps-field > span { font-size: 13px; font-weight: 600; padding-top: 9px; }
.fps-page .fps-field > div { min-width: 0; }
.fps-page .fps-field input { height: 38px; width: 100%; min-width: 0; border: 1px solid #cdd8e6; border-radius: 5px; background: #fff; padding: 6px 10px; color: var(--fps-text); box-shadow: inset 0 1px 2px rgba(24,44,64,.035); }
.fps-page .fps-field input[aria-invalid="true"] { border-color: var(--fps-red); }
.fps-page .fps-field small { display: block; font-size: 10.5px; color: var(--fps-muted); margin-top: 3px; line-height: 1.4; }
.fps-page .fps-toggle { display: flex; border: 1px solid #cdd8e6; border-radius: 5px; min-height: 38px; }
.fps-page .fps-toggle button { flex: 1; min-width: 0; border: 0; border-radius: 4px; background: transparent; font-size: 11px; color: var(--fps-muted); padding: 8px 4px; }
.fps-page .fps-toggle button[aria-pressed="true"] { background: var(--fps-blue); color: #fff; font-weight: 650; }
.fps-page .fps-calculate { width: 100%; border: 0; border-radius: 5px; background: var(--fps-blue); color: #fff; font-weight: 650; min-height: 40px; padding: 9px 12px; line-height: 1.35; }
.fps-page .fps-calculate:hover { filter: brightness(.95); }
.fps-page #fps-error { color: #9d1d24; background: #fff2f1; border-left: 3px solid var(--fps-red); padding: 8px 10px; margin-bottom: 12px; font-size: 12px; }
.fps-page .fps-no-script, .fps-page .fps-result-status { font-size: 12px; color: var(--fps-muted); margin: 8px 0 12px; }
.fps-page .fps-results { border-color: #d3e9df; padding: 13px; }
.fps-page .fps-results h2 { color: var(--fps-green); }
.fps-page .fps-results h2 .fps-icon { background: #edf9f1; color: var(--fps-green); }
.fps-page .fps-recommend { position: relative; border: 1px solid #d8eddf; background: #f0faf3; border-radius: 6px; padding: 8px 13px; margin-bottom: 11px; }
.fps-page .fps-recommend h3 { font-size: 14px; font-weight: 650; }
.fps-page .fps-recommend strong { display: block; font-size: 34px; color: var(--fps-green); letter-spacing: -.025em; line-height: 1.3; padding-right: 42px; overflow-wrap: anywhere; }
.fps-page .fps-recommend small { font-size: 10.5px; color: var(--fps-muted); display: block; margin-top: 2px; }
.fps-page .fps-recommend-icon { position: absolute; right: 18px; top: 24px; color: var(--fps-green); }
.fps-page .fps-recommend-icon svg { width: 34px; height: 34px; }
.fps-page .fps-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 12px; }
.fps-page .fps-metric { display: flex; gap: 10px; border: 1px solid #e3eaf3; border-radius: 6px; min-height: 69px; padding: 8px 10px; }
.fps-page .fps-metric > div { min-width: 0; }
.fps-page .fps-metric .fps-icon { width: 32px; height: 34px; }
.fps-page .fps-metric h3 { font-size: 11px; font-weight: 400; }
.fps-page .fps-metric strong { display: block; font-size: 18px; font-weight: 750; color: var(--fps-text); line-height: 1.4; overflow-wrap: anywhere; }
.fps-page .fps-metric small { font-size: 10px; color: var(--fps-muted); display: block; }
.fps-page .fps-warning { display: flex; align-items: center; gap: 10px; background: #fff8e7; border: 1px solid #fae8bc; border-radius: 6px; padding: 8px 10px; margin-top: 8px; color: #49330a; }
.fps-page .fps-warning[data-severity="warning"] { border-color: #e8b651; background: #fff3d1; }
.fps-page .fps-warning-icon { color: #946200; display: inline-flex; flex-shrink: 0; }
.fps-page .fps-warning p { font-size: 11px; line-height: 1.5; }
.fps-page .fps-summary { margin-bottom: 12px; padding: 12px; }
.fps-page .fps-summary h2 { margin-bottom: 9px; }
.fps-page .fps-table-scroll { overflow-x: auto; max-width: 100%; border-radius: 4px; }
.fps-page .fps-summary table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 650px; margin: 0; border: 1px solid #e1e9f3; border-radius: 4px; overflow: hidden; text-align: center; white-space: nowrap; }
.fps-page .fps-summary th { font-size: 10px; background: #f4f8fb; font-weight: 600; padding: 5px 12px; }
.fps-page .fps-summary td { font-size: 12px; font-weight: 700; padding: 5px 12px; }
.fps-page .fps-summary th, .fps-page .fps-summary td { border: 0; border-right: 1px solid #e1e9f3; border-bottom: 1px solid #e1e9f3; text-align: center; }
.fps-page .fps-summary tr:last-child td { border-bottom: 0; }
.fps-page .fps-summary th:last-child, .fps-page .fps-summary td:last-child { border-right: 0; }
.fps-page .fps-explain { display: grid; grid-template-columns: 1.12fr 1fr .66fr; gap: 12px; margin-bottom: 12px; }
.fps-page .fps-tinted { background: #f0f7fe; border-color: #dcecff; box-shadow: none; }
.fps-page .fps-explain .fps-card { padding: 12px 14px; }
.fps-page .fps-explain h2 { font-size: 14px; gap: 9px; margin-bottom: 7px; }
.fps-page .fps-explain > section > p, .fps-page .fps-example p { font-size: 12px; color: var(--fps-muted); line-height: 1.45; }
.fps-page .fps-formula { background: #f8fbff; border: 1px solid #e0eaf6; border-radius: 6px; padding: 9px 10px; font-family: Consolas, monospace; font-size: 10px; line-height: 1.8; overflow-wrap: anywhere; }
.fps-page .fps-formula p + p { margin-top: 5px; }
.fps-page .fps-example { display: grid; grid-template-columns: 1.45fr .83fr 1fr; align-items: center; gap: 14px; margin-bottom: 12px; padding: 12px 16px; }
.fps-page .fps-example > div { align-self: start; }
.fps-page .fps-example h2 { margin-bottom: 8px; }
.fps-page .fps-example dl { display: grid; grid-template-columns: minmax(0,1fr) auto; margin: 5px 0 0; padding: 0 20px; border-left: 1px solid #dce8f5; border-right: 1px solid #dce8f5; font-size: 11px; line-height: 1.5; gap: 0 12px; color: var(--fps-muted); }
.fps-page .fps-example dt { font-weight: 400; }
.fps-page .fps-example dd { margin: 0; color: var(--fps-navy); }
.fps-page .fps-example dd:last-child { font-weight: bold; }
.fps-page .fps-example .fps-example-callout { background: #e3efff; border: 1px solid #d7e8ff; border-radius: 6px; padding: 12px 14px; color: #163e7d; font-size: 12px; }
.fps-page .fps-example-callout b { color: #174a9c; }
.fps-page .fps-bottom-grid { display: grid; grid-template-columns: 1fr 1.08fr; gap: 12px; margin-bottom: 12px; }
.fps-page .fps-rules { list-style: none; counter-reset: rule; margin: 0; padding: 0 8px; }
.fps-page .fps-rules li { counter-increment: rule; display: flex; align-items: flex-start; gap: 9px; font-size: 12px; margin-bottom: 5px; }
.fps-page .fps-rules li:last-child { margin-bottom: 0; }
.fps-page .fps-rules li::before { content: counter(rule); display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: var(--fps-blue); color: #fff; font-size: 11px; flex-shrink: 0; }
.fps-page .fps-related { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.fps-page .fps-related > a { display: flex; gap: 10px; border: 1px solid var(--fps-border); padding: 10px; border-radius: 6px; min-width: 0; }
.fps-page .fps-related > a:hover { border-color: var(--fps-blue); }
.fps-page .fps-related > a > div { min-width: 0; }
.fps-page .fps-related .fps-icon { width: 36px; height: 38px; }
.fps-page .fps-related h3 { font-size: 12px; margin: 3px 0 5px; font-weight: 650; }
.fps-page .fps-related p { font-size: 10.5px; color: var(--fps-muted); margin-bottom: 9px; }
.fps-page .fps-related div > span { color: var(--fps-blue); font-size: 11px; }
.fps-page .fps-faq { padding: 12px; }
.fps-page .fps-faq h2 { margin-bottom: 9px; }
.fps-page .fps-faq .fps-icon { background: transparent; }
.fps-page .fps-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fps-page .fps-faq details { border: 1px solid var(--fps-border); border-radius: 4px; font-size: 11px; }
.fps-page .fps-faq summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; min-height: 30px; padding: 6px 10px; }
.fps-page .fps-faq summary::-webkit-details-marker { display: none; }
.fps-page .fps-faq summary::before { content: '›'; font-size: 16px; line-height: 1; }
.fps-page .fps-faq summary::after { content: '⌄'; margin-left: auto; }
.fps-page .fps-faq details[open] summary::after { content: '⌃'; }
.fps-page .fps-faq details p { margin: 0; padding: 2px 12px 12px; color: var(--fps-muted); line-height: 1.6; }
@media (min-width: 1400px) {
  .fps-page .fps-wrap { max-width: 1180px; }
  .fps-page h1 { font-size: 46px; max-width: 480px; }
  .fps-page .fps-hero { padding: 18px 10px 24px; }
  .fps-page .fps-input { padding: 20px; }
  .fps-page .fps-field { grid-template-columns: 180px minmax(0,1fr); margin-bottom: 22px; }
  .fps-page .fps-hero img { max-width: 550px; }
}
@media (min-width: 941px) and (max-width: 1100px) {
  .fps-page .fps-wrap { width: min(880px,calc(100% - 48px)); }
  .fps-page .fps-hero { padding-top: 4px; }
  .fps-page h1 { font-size: 38px; max-width: 355px; }
  .fps-page .fps-hero img { min-height: 210px; object-fit: contain; }
  .fps-page .fps-metric h3 { font-size: 10.5px; }
  .fps-page .fps-related h3 { font-size: 11px; }
}
@media (max-width: 940px) {
  .fps-page .fps-hero { grid-template-columns: 1.1fr .9fr; padding-right: 0; padding-left: 0; }
  .fps-page h1 { font-size: 36px; }
  .fps-page .fps-field { grid-template-columns: 1fr; gap: 4px; margin-bottom: 13px; }
  .fps-page .fps-field label, .fps-page .fps-field > span { padding-top: 0; }
  .fps-page .fps-field input, .fps-page .fps-toggle { min-height: 42px; }
  .fps-page .fps-explain { grid-template-columns: 1fr 1fr; }
  .fps-page .fps-explain > section:last-child { grid-column: 1 / -1; }
  .fps-page .fps-metric { gap: 7px; padding: 8px; }
  .fps-page .fps-metric .fps-icon { width: 27px; height: 30px; }
  .fps-page .fps-metric strong { font-size: 17px; }
  .fps-page .fps-example { grid-template-columns: 1fr 1fr; }
  .fps-page .fps-example-callout { grid-column: 1 / -1; }
  .fps-page .fps-related { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .fps-page .fps-wrap { width: calc(100% - 32px); }
  .fps-page .fps-crumb { padding-top: 12px; }
  .fps-page .fps-hero { grid-template-columns: 1fr; gap: 8px; padding: 0 0 18px; }
  .fps-page h1 { max-width: 100%; font-size: 36px; }
  .fps-page .fps-lead { font-size: 15px; }
  .fps-page .fps-hero img { max-width: 390px; height: auto; justify-self: center; }
  .fps-page .fps-calculator-grid, .fps-page .fps-explain, .fps-page .fps-example, .fps-page .fps-bottom-grid, .fps-page .fps-faq-grid { grid-template-columns: 1fr; }
  .fps-page .fps-field { grid-template-columns: 1fr; margin-bottom: 14px; }
  .fps-page .fps-toggle button, .fps-page .fps-field input, .fps-page .fps-calculate { min-height: 44px; }
  .fps-page .fps-field small { font-size: 11px; }
  .fps-page .fps-explain > section:last-child, .fps-page .fps-example-callout { grid-column: auto; }
  .fps-page .fps-explain > section > p, .fps-page .fps-example p { font-size: 13px; }
  .fps-page .fps-formula { font-size: 11px; }
  .fps-page .fps-example dl { border: 0; padding: 0; grid-template-columns: 1fr 1fr; font-size: 12px; }
  .fps-page .fps-related { grid-template-columns: 1fr 1fr; }
  .fps-page .fps-related > a { flex-direction: column; }
  .fps-page .fps-related h3 { font-size: 12px; }
  .fps-page .fps-faq-grid { gap: 0; }
  .fps-page .fps-faq summary { min-height: 44px; font-size: 12px; }
  .fps-page .fps-faq details p { font-size: 12px; }
  .fps-page .fps-recommend strong { font-size: 32px; }
}
@media (max-width: 360px) {
  .fps-page .fps-wrap { width: calc(100% - 24px); }
  .fps-page h1 { font-size: 32px; }
  .fps-page .fps-input, .fps-page .fps-results { padding: 12px; }
  .fps-page .fps-metrics { grid-template-columns: 1fr; }
  .fps-page .fps-metric { min-height: 66px; }
  .fps-page .fps-metric h3 { font-size: 12px; }
  .fps-page .fps-related { grid-template-columns: 1fr; }
  .fps-page .fps-related > a { flex-direction: row; }
}

/* Hero refinement 1.0.13: no selectors target calculator or lower-page content. */
.fps-page .fps-crumb { gap: 8px; padding: 18px 0 20px; color: var(--fps-muted); }
.fps-page .fps-hero { grid-template-columns: minmax(0,54fr) minmax(0,46fr); gap: 28px; padding: 16px 10px 32px; }
.fps-page .fps-hero-copy { min-width: 0; }
.fps-page .fps-hero .fps-kicker { font-size: 11px; font-weight: 600; letter-spacing: .055em; line-height: 1.5; margin-bottom: 10px; }
.fps-page .fps-hero h1 { max-width: 440px; font-size: clamp(38px,3.4vw,46px); font-weight: 700; line-height: 1.12; letter-spacing: -.03em; margin-bottom: 14px; }
.fps-page .fps-hero .fps-lead { max-width: 510px; font-size: 16px; line-height: 1.55; }
.fps-page .fps-hero .fps-subtitle { margin-top: 10px; font-size: 14px; line-height: 1.55; }
.fps-page .fps-hero-values { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; list-style: none; padding: 0; margin: 20px 0 0; }
.fps-page .fps-hero-values li { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; line-height: 1.5; color: var(--fps-muted); white-space: nowrap; }
.fps-page .fps-hero-values svg { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 1.8; color: var(--fps-blue); }
.fps-page .fps-hero img { width: 100%; max-width: 470px; min-height: 0; height: auto; object-fit: contain; justify-self: end; align-self: center; }
@media (min-width: 1400px) {
  .fps-page .fps-hero { gap: 36px; padding: 20px 10px 36px; }
  .fps-page .fps-hero h1 { max-width: 480px; }
  .fps-page .fps-hero-values { gap: 12px 24px; }
  .fps-page .fps-hero-values li { font-size: 12px; }
  .fps-page .fps-hero img { max-width: 510px; }
}
@media (max-width: 940px) {
  .fps-page .fps-crumb { padding-top: 16px; }
  .fps-page .fps-hero { grid-template-columns: minmax(0,55fr) minmax(0,45fr); gap: 20px; padding: 16px 0 28px; }
  .fps-page .fps-hero h1 { font-size: 36px; line-height: 1.14; }
  .fps-page .fps-hero .fps-lead { font-size: 15px; }
  .fps-page .fps-hero-values { gap: 10px 14px; margin-top: 18px; }
}
@media (max-width: 700px) {
  .fps-page .fps-crumb { padding: 16px 0 18px; }
  .fps-page .fps-hero { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 12px 0 28px; }
  .fps-page .fps-hero h1 { max-width: 440px; font-size: clamp(32px,8.7vw,38px); line-height: 1.14; margin-bottom: 14px; }
  .fps-page .fps-hero .fps-kicker { margin-bottom: 10px; }
  .fps-page .fps-hero .fps-subtitle { font-size: 13px; }
  .fps-page .fps-hero-values { gap: 10px 16px; margin-top: 18px; }
  .fps-page .fps-hero img { max-width: 360px; justify-self: center; }
}

/* Approved Image 2 hero: artwork backdrop with accessible HTML copy. */
.fps-page .fps-hero-band { background-color: #eaf5ff; background-image: url("images/position-hero-mockup.webp"); background-position: calc(50% + clamp(0px, calc(50vw - 550px), 160px)) center; background-size: auto 100%; background-repeat: no-repeat; margin-bottom: 22px; }
.fps-page .fps-hero-band .fps-crumb { padding: 12px 0 12px; font-size: 11px; color: #122d5b; }
.fps-page .fps-hero-band .fps-hero { display: block; padding: 3px 0 22px; }
.fps-page .fps-hero-band .fps-hero-copy { width: 55%; max-width: 600px; }
.fps-page .fps-hero-band .fps-kicker { color: #0560ec; font-size: 12px; font-weight: 600; letter-spacing: .015em; margin-bottom: 5px; }
.fps-page .fps-hero-band h1 { color: #0c2453; max-width: 500px; font-size: 42px; font-weight: 750; line-height: 1.02; letter-spacing: -.035em; margin-bottom: 7px; }
.fps-page .fps-hero-band h1 > span { display: block; }
.fps-page .fps-hero-band .fps-lead { max-width: 510px; font-size: 16px; line-height: 1.35; color: #0c2453; }
.fps-page .fps-hero-band .fps-subtitle { margin-top: 5px; font-size: 14px; line-height: 1.4; color: #0c2453; }
.fps-page .fps-hero-band .fps-hero-values { flex-wrap: nowrap; gap: 15px; margin-top: 12px; }
.fps-page .fps-hero-band .fps-hero-values li { gap: 8px; font-size: 11px; line-height: 1.35; color: #122950; }
.fps-page .fps-hero-band .fps-hero-values svg { width: 34px; height: 34px; flex-basis: 34px; padding: 7px; border-radius: 50%; background: #f6fbff; color: #0766ed; stroke-width: 2.2; }
.fps-page .fps-hero-band .fps-hero-values strong { display: block; font-size: 11px; font-weight: 650; }
.fps-page .fps-hero-band .fps-hero-values small { display: block; font-size: 10px; font-weight: 400; color: #355783; margin-top: 2px; }
.fps-page .fps-hero-band .fps-hero-mobile-art { display: none; }
@media (min-width: 1400px) {
  .fps-page .fps-hero-band .fps-hero { padding: 8px 0 26px; }
  .fps-page .fps-hero-band h1 { font-size: 48px; }
  .fps-page .fps-hero-band .fps-hero-values { gap: 22px; margin-top: 15px; }
  .fps-page .fps-hero-band .fps-hero-values strong { font-size: 12px; }
  .fps-page .fps-hero-band .fps-hero-values small { font-size: 11px; }
}
@media (max-width: 1100px) and (min-width: 701px) {
  .fps-page .fps-hero-band .fps-hero-copy { width: 57%; }
  .fps-page .fps-hero-band .fps-hero-values { gap: 10px; }
  .fps-page .fps-hero-band .fps-hero-values li { gap: 6px; }
  .fps-page .fps-hero-band .fps-hero-values svg { width: 30px; height: 30px; flex-basis: 30px; padding: 6px; }
}
@media (max-width: 940px) and (min-width: 701px) {
  .fps-page .fps-hero-band { background-position: 70% center; }
  .fps-page .fps-hero-band .fps-hero-copy { width: 60%; }
  .fps-page .fps-hero-band h1 { font-size: 39px; }
  .fps-page .fps-hero-band .fps-lead { font-size: 15px; }
  .fps-page .fps-hero-band .fps-hero-values { flex-wrap: wrap; gap: 10px 14px; }
}
@media (max-width: 700px) {
  .fps-page .fps-hero-band { background-image: linear-gradient(135deg,#eaf5ff,#f7fcff); }
  .fps-page .fps-hero-band .fps-crumb { padding: 14px 0 16px; }
  .fps-page .fps-hero-band .fps-hero { padding: 4px 0 18px; }
  .fps-page .fps-hero-band .fps-hero-copy { width: 100%; }
  .fps-page .fps-hero-band h1 { font-size: clamp(34px,9vw,42px); line-height: 1.06; margin-bottom: 10px; }
  .fps-page .fps-hero-band .fps-lead { font-size: 15px; line-height: 1.5; }
  .fps-page .fps-hero-band .fps-subtitle { font-size: 13px; line-height: 1.45; margin-top: 7px; }
  .fps-page .fps-hero-band .fps-hero-values { flex-wrap: wrap; gap: 12px 15px; margin-top: 15px; }
  .fps-page .fps-hero-band .fps-hero-mobile-art { display: block; width: 100%; max-width: 100%; height: 220px; object-fit: cover; object-position: right center; margin-top: 18px; border-radius: 6px; }
}
/* Keep the full illustration visible on wide monitors and blend its edges. */
@media (min-width: 701px) {
  .fps-page .fps-hero-band { position: relative; isolation: isolate; overflow: hidden; background-image: none; }
  .fps-page .fps-hero-band::before { content: ""; position: absolute; top: 0; left: calc(50% + clamp(0px, calc(50vw - 550px), 160px)); height: 100%; aspect-ratio: 2170 / 725; transform: translateX(-50%); background: url("images/position-hero-mockup.webp") center / 100% 100% no-repeat; mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); pointer-events: none; z-index: -1; }
}

/* Position calculator 1.0.16: standard site container and revised learning flow. */
.fps-page .fps-wrap { width: min(1240px, calc(100% - 40px)); max-width: 1240px; }
.fps-page .fps-worked-section, .fps-page .fps-learn-section { margin: 26px 0; }
.fps-page .fps-section-heading { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; letter-spacing: -.025em; line-height: 1.35; margin-bottom: 7px; }
.fps-page .fps-section-intro { color: var(--fps-muted); font-size: 13px; line-height: 1.6; margin-bottom: 15px; max-width: 850px; }
.fps-page .fps-example-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.fps-page .fps-example-card { padding: 18px; }
.fps-page .fps-example-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.fps-page .fps-example-heading h3 { font-size: 16px; font-weight: 650; }
.fps-page .fps-example-heading > span { font-size: 10px; border-radius: 20px; padding: 4px 8px; background: #eff6ff; color: #174c97; white-space: nowrap; }
.fps-page .fps-example-card dl { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 12px; font-size: 12px; margin: 0 0 15px; }
.fps-page .fps-example-card dt { font-weight: 400; color: var(--fps-muted); }
.fps-page .fps-example-card dd { margin: 0; font-weight: 600; }
.fps-page .fps-example-result { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-radius: 6px; padding: 10px 12px; background: #eff9f3; color: var(--fps-green); margin-bottom: 10px; }
.fps-page .fps-example-result > span { font-size: 12px; }
.fps-page .fps-example-result strong { font-size: 20px; }
.fps-page .fps-example-card > p { font-size: 12px; line-height: 1.6; color: var(--fps-muted); }
.fps-page .fps-learn-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.fps-page .fps-learn-card { padding: 20px; }
.fps-page .fps-learn-card h3 { font-size: 17px; font-weight: 650; margin-bottom: 10px; }
.fps-page .fps-learn-card > p, .fps-page .fps-learn-card ol { font-size: 13px; color: var(--fps-muted); line-height: 1.7; }
.fps-page .fps-learn-card p + p { margin-top: 10px; }
.fps-page .fps-learn-card ol { margin: 0; padding-left: 20px; }
.fps-page .fps-learn-card li + li { margin-top: 8px; }
.fps-page .fps-learn-card a { color: var(--fps-blue); text-decoration: underline; text-underline-offset: 2px; }
.fps-page .fps-learn-card .fps-formula { font-size: 12px; padding: 12px; line-height: 1.75; margin-bottom: 12px; }
.fps-page .fps-takeaways-tools { margin-top: 26px; gap: 16px; grid-template-columns: 1fr 1fr; }
.fps-page .fps-takeaways-tools > .fps-card { padding: 20px; }
.fps-page .fps-takeaway-list { list-style: none; margin: 0; padding: 0; }
.fps-page .fps-takeaway-list li { display: flex; gap: 9px; font-size: 13px; line-height: 1.6; }
.fps-page .fps-takeaway-list li + li { margin-top: 9px; }
.fps-page .fps-takeaway-list li::before { content: '✓'; color: var(--fps-blue); font-weight: 700; flex: 0 0 15px; }
.fps-page .fps-takeaways-tools .fps-related { grid-template-columns: repeat(2,minmax(0,1fr)); }
.fps-page .fps-takeaways-tools .fps-related > a { min-height: 128px; }
.fps-page .fps-faq { margin-top: 30px; border-top: 3px solid #dce8f8; padding: 20px; }
.fps-page .fps-faq h2 { font-size: 20px; margin-bottom: 14px; }
.fps-page .fps-faq summary { font-size: 13px; min-height: 44px; padding: 10px 12px; }
.fps-page .fps-faq details p { font-size: 13px; line-height: 1.65; }
.fps-page .fps-faq details + details { margin-top: 6px; }
@media (max-width: 940px) {
  .fps-page .fps-example-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fps-page .fps-example-grid > .fps-example-card:last-child { grid-column: 1 / -1; }
  .fps-page .fps-takeaways-tools .fps-related { grid-template-columns: 1fr; }
  .fps-page .fps-takeaways-tools .fps-related > a { min-height: 0; }
}
@media (max-width: 700px) {
  .fps-page .fps-wrap { width: min(1240px,calc(100% - 32px)); }
  .fps-page .fps-example-grid, .fps-page .fps-learn-grid, .fps-page .fps-takeaways-tools { grid-template-columns: 1fr; }
  .fps-page .fps-example-grid > .fps-example-card:last-child { grid-column: auto; }
  .fps-page .fps-section-heading { font-size: 20px; }
  .fps-page .fps-example-card, .fps-page .fps-learn-card, .fps-page .fps-takeaways-tools > .fps-card, .fps-page .fps-faq { padding: 16px; }
  .fps-page .fps-takeaways-tools .fps-related { grid-template-columns: 1fr; }
  .fps-page .fps-takeaways-tools .fps-related > a { flex-direction: row; }
  .fps-page .fps-faq-column + .fps-faq-column { margin-top: 6px; }
  .fps-page .fps-learn-card .fps-formula { font-size: 11px; }
}
/* Hero typography aligned with the Stock Investing heading treatment. */
.fps-page .fps-hero-band .fps-hero-copy { font-family: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fps-page .fps-hero-band .fps-kicker { font-family: inherit; font-size: 13px; font-weight: 800; text-transform: uppercase; color: var(--fte20-primary,#2563eb); letter-spacing: .09em; line-height: 1.4; margin-bottom: 14px; }
.fps-page .fps-hero-band h1 { font-family: inherit; font-size: clamp(56px,4.6vw,60px); font-weight: 700; line-height: 1.08; letter-spacing: -.05em; color: var(--fte20-dark,#0b1220); max-width: 580px; margin: 0 0 26px; }
.fps-page .fps-hero-band .fps-lead { font-family: inherit; max-width: 570px; font-size: 17px; line-height: 1.7; color: var(--fte20-muted,#64748b); }
.fps-page .fps-hero-band .fps-subtitle { font-family: inherit; font-size: 15px; line-height: 1.7; color: var(--fte20-muted,#64748b); margin-top: 8px; }
.fps-page .fps-hero-band .fps-hero-values { margin-top: 18px; }
@media (max-width: 940px) and (min-width: 701px) {
  .fps-page .fps-hero-band h1 { font-size: clamp(42px,5.6vw,52px); }
  .fps-page .fps-hero-band .fps-lead { font-size: 16px; }
}
@media (max-width: 700px) {
  .fps-page .fps-hero-band h1 { font-size: clamp(32px,8.5vw,40px); line-height: 1.1; margin-bottom: 18px; }
  .fps-page .fps-hero-band .fps-kicker { font-size: 12px; margin-bottom: 12px; }
  .fps-page .fps-hero-band .fps-lead { font-size: 16px; line-height: 1.65; }
  .fps-page .fps-hero-band .fps-subtitle { font-size: 14px; line-height: 1.65; }
  .fps-page .fps-hero-band .fps-hero-values { margin-top: 16px; }
}
