:root {
  color-scheme: light;
  --ink: #1d2926;
  --muted: #64706c;
  --paper: #f5f1e8;
  --white: #fffdf8;
  --teal: #0d594e;
  --teal-deep: #073d36;
  --mint: #cce8c1;
  --orange: #f0643b;
  --orange-deep: #b93c1d;
  --yellow: #f1d76d;
  --line: rgba(29, 41, 38, 0.16);
  --line-strong: rgba(29, 41, 38, 0.28);
  --shadow: 0 30px 90px rgba(27, 54, 47, 0.16);
  --shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button, input, select { font: inherit; }
a { color: inherit; text-underline-offset: 0.2em; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.shell { width: min(var(--shell), calc(100% - 40px)); margin-inline: auto; }
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100;
  transform: translateY(-160%);
  border-radius: 999px;
  background: var(--ink);
  color: white;
  padding: 10px 15px;
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }

.trust-bar { background: var(--teal-deep); color: var(--white); }
.trust-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 36px;
  font-size: 0.73rem;
  font-weight: 720;
  letter-spacing: 0.02em;
}
.pulse { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #82e390; box-shadow: 0 0 0 4px rgba(130, 227, 144, 0.12); }
.trust-detail { color: rgba(255, 253, 248, 0.7); }

.site-header { border-bottom: 1px solid var(--line); background: rgba(245, 241, 232, 0.94); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; min-height: 84px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); font-weight: 880; letter-spacing: -0.045em; text-decoration: none; }
.brand-mark { display: grid; width: 39px; height: 39px; place-items: center; border: 2px solid var(--ink); border-radius: 11px 15px; background: var(--orange); color: white; font-size: 0.78rem; font-weight: 900; transform: rotate(-4deg); box-shadow: 3px 3px 0 var(--ink); }
.brand-mark span { color: var(--yellow); }
.brand-copy { display: grid; font-size: 1.07rem; line-height: 1; }
.brand-copy small { margin-top: 5px; color: var(--muted); font-size: 0.55rem; font-weight: 780; letter-spacing: 0.14em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 8px; }
.site-nav a { border-radius: 999px; padding: 11px 12px; color: var(--muted); font-size: 0.84rem; font-weight: 720; text-decoration: none; }
.site-nav a:hover { color: var(--ink); background: var(--white); }
.site-nav .nav-action { margin-left: 8px; border: 1px solid var(--ink); background: var(--ink); color: white; padding-inline: 16px; }

.hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(241, 215, 109, 0.28), transparent 22rem),
    linear-gradient(120deg, transparent 55%, rgba(204, 232, 193, 0.35) 55%, rgba(204, 232, 193, 0.35) 72%, transparent 72%);
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 0.94fr) minmax(380px, 0.76fr); align-items: center; gap: clamp(50px, 7vw, 100px); min-height: 690px; padding-block: 72px 64px; }
.hero-copy { max-width: 670px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 24px; color: var(--teal); font-size: 0.74rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.eyebrow span { border-radius: 999px; background: var(--orange-deep); color: white; padding: 6px 8px; font-size: 0.62rem; }
h1, h2 { text-wrap: balance; }
h1 { margin: 0; max-width: 700px; font-size: clamp(4rem, 7.1vw, 7rem); font-weight: 890; letter-spacing: -0.078em; line-height: 0.87; }
h1 em { position: relative; color: var(--teal); font-family: Georgia, "Times New Roman", serif; font-weight: 500; white-space: nowrap; }
h1 em::after { position: absolute; right: 0; bottom: -0.01em; left: 0; z-index: -1; height: 0.17em; border-radius: 99px; background: var(--yellow); content: ""; transform: rotate(-1deg); }
.lede { max-width: 640px; margin: 28px 0 0; color: var(--muted); font-size: clamp(1.06rem, 1.5vw, 1.25rem); line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; border: 1px solid var(--ink); border-radius: 999px; padding: 0 23px; font-weight: 820; text-decoration: none; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--ink); color: white; box-shadow: 6px 6px 0 var(--mint); }
.text-link { color: var(--teal); font-size: 0.9rem; font-weight: 800; text-decoration-thickness: 2px; }
.proof-points { display: flex; flex-wrap: wrap; gap: 15px 22px; margin: 34px 0 0; padding: 0; color: var(--muted); font-size: 0.79rem; font-weight: 700; list-style: none; }
.proof-points span { display: inline-grid; width: 19px; height: 19px; margin-right: 5px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--teal-deep); font-size: 0.67rem; }

.decision-card { position: relative; border: 1px solid var(--line-strong); border-radius: 30px; background: rgba(255, 253, 248, 0.96); box-shadow: var(--shadow); padding: clamp(24px, 3vw, 34px); }
.decision-card::before { position: absolute; top: -18px; right: 26px; width: 74px; height: 36px; border-radius: 4px; background: rgba(241, 215, 109, 0.84); content: ""; transform: rotate(4deg); }
.decision-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 25px; }
.step-label { margin: 0 0 7px; color: var(--orange-deep); font-size: 0.67rem; font-weight: 880; letter-spacing: 0.11em; text-transform: uppercase; }
.decision-card h2 { margin: 0; font-size: 1.7rem; letter-spacing: -0.05em; }
.time-chip { border: 1px solid var(--line); border-radius: 999px; background: var(--paper); padding: 7px 10px; color: var(--muted); font-size: 0.68rem; font-weight: 800; white-space: nowrap; }
.calculator-form { display: grid; gap: 17px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.field { display: grid; gap: 8px; }
.field label { font-size: 0.77rem; font-weight: 790; }
.field input, .field select { width: 100%; min-height: 51px; border: 1px solid var(--line-strong); border-radius: 13px; background-color: white; color: var(--ink); padding: 0 14px; outline: none; }
.field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px; background-repeat: no-repeat; background-size: 5px 5px; }
.field input:focus, .field select:focus { border-color: var(--teal); box-shadow: 0 0 0 4px rgba(13, 89, 78, 0.11); }
.input-prefix, .input-suffix { position: relative; }
.input-prefix > span, .input-suffix > span { position: absolute; top: 50%; z-index: 1; color: var(--muted); font-size: 0.81rem; font-weight: 740; transform: translateY(-50%); pointer-events: none; }
.input-prefix > span { left: 14px; }
.input-prefix input { padding-left: 30px; }
.input-suffix > span { right: 13px; }
.input-suffix input { padding-right: 57px; }
.button-calculate { width: 100%; margin-top: 3px; border-color: var(--teal); background: var(--teal); color: white; }
.form-note { margin: -3px 0 0; color: var(--muted); font-size: 0.69rem; text-align: center; }
.form-note span { color: #42a968; }
.field-error { margin: 0; color: var(--orange-deep); font-size: 0.72rem; font-weight: 700; }
.field input[aria-invalid="true"], .field select[aria-invalid="true"] { border-color: var(--orange-deep); box-shadow: 0 0 0 4px rgba(185, 60, 29, 0.1); }
.calculator-result { border-top: 1px solid var(--line); padding-top: 24px; }
.calculator-result[hidden] { display: none; }
.calculator-form[hidden] { display: none; }
.result-heading { display: flex; align-items: flex-start; gap: 13px; }
.result-icon { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--teal-deep); font-weight: 900; }
.calculator-result.is-compare .result-icon { background: var(--yellow); }
.calculator-result.is-replace .result-icon { background: rgba(240, 100, 59, 0.18); color: var(--orange-deep); }
.calculator-result h3 { margin: 0; font-size: 1.48rem; letter-spacing: -0.04em; line-height: 1.08; }
.result-summary { margin: 17px 0; color: var(--muted); font-size: 0.91rem; line-height: 1.55; }
.result-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; }
.result-metrics div { border: 1px solid var(--line); border-radius: 12px; background: var(--paper); padding: 11px; }
.result-metrics dt { color: var(--muted); font-size: 0.61rem; line-height: 1.25; }
.result-metrics dd { margin: 7px 0 0; color: var(--teal-deep); font-size: 1rem; font-weight: 860; letter-spacing: -0.03em; }
.result-caution { margin-top: 15px; border-left: 3px solid var(--yellow); background: rgba(241, 215, 109, 0.18); padding: 11px 13px; color: var(--muted); font-size: 0.72rem; line-height: 1.5; }
.result-caution strong { color: var(--ink); }
.result-actions { display: flex; justify-content: space-between; gap: 16px; margin-top: 17px; font-size: 0.76rem; font-weight: 800; }
.result-actions a { color: var(--teal); }
.result-actions button { border: 0; background: transparent; color: var(--muted); padding: 0; text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }

.source-ribbon { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); padding-block: 24px 27px; }
.source-ribbon > p { margin: 0; color: var(--muted); font-size: 0.73rem; font-weight: 750; text-transform: uppercase; letter-spacing: 0.08em; }
.source-ribbon ul { display: flex; align-items: center; gap: clamp(20px, 4vw, 48px); margin: 0; padding: 0; list-style: none; }
.source-ribbon li { display: grid; }
.source-ribbon strong { color: var(--teal-deep); font-size: 0.88rem; letter-spacing: -0.02em; }
.source-ribbon span { color: var(--muted); font-size: 0.62rem; }

.issue-section { padding: clamp(82px, 10vw, 132px) 0; }
.section-heading { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: 50px; align-items: start; margin-bottom: 46px; }
.section-heading h2, .data-section h2, .final-cta h2 { margin: 0; font-size: clamp(2.7rem, 5.5vw, 5.6rem); letter-spacing: -0.068em; line-height: 0.97; }
.section-heading div > p { max-width: 700px; margin: 20px 0 0; color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.issue-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.issue-card { display: flex; min-height: 300px; flex-direction: column; border: 1px solid var(--line); border-radius: 24px; background: var(--white); padding: 23px; text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.issue-card:hover { transform: translateY(-4px); box-shadow: 0 20px 55px rgba(27, 54, 47, 0.1); }
.issue-type { width: fit-content; border-radius: 999px; background: var(--mint); color: var(--teal-deep); padding: 6px 9px; font-size: 0.62rem; font-weight: 830; letter-spacing: 0.06em; text-transform: uppercase; }
.issue-card:nth-child(2) .issue-type, .issue-card:nth-child(4) .issue-type { background: rgba(241, 215, 109, 0.5); }
.issue-card h3 { margin: 40px 0 11px; font-size: 1.55rem; letter-spacing: -0.048em; line-height: 1.08; }
.issue-card p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.58; }
.card-link { margin-top: auto; padding-top: 28px; color: var(--teal); font-size: 0.76rem; font-weight: 820; }
.center-action { display: flex; justify-content: center; margin-top: 34px; }
.button-outline { background: transparent; color: var(--teal-deep); }

.preview-next { background: var(--teal-deep); color: white; padding: clamp(76px, 9vw, 120px) 0; }
.preview-next-grid { display: grid; grid-template-columns: 0.62fr 1.38fr; gap: 60px; }
.section-kicker { margin: 8px 0 0; color: var(--yellow); font-size: 0.72rem; font-weight: 860; letter-spacing: 0.1em; text-transform: uppercase; }
.preview-next h2 { max-width: 760px; margin: 0; font-size: clamp(2.6rem, 5vw, 5.2rem); letter-spacing: -0.064em; line-height: 0.98; }
.preview-next div > p { max-width: 690px; margin: 24px 0 0; color: rgba(255,255,255,0.72); font-size: 1.05rem; line-height: 1.65; }
.method-steps { display: grid; gap: 0; max-width: 760px; margin: 42px 0 30px; padding: 0; list-style: none; }
.method-steps li { display: grid; grid-template-columns: 58px 1fr; gap: 18px; border-top: 1px solid rgba(255,255,255,0.16); padding: 20px 0; }
.method-steps li > span { color: var(--yellow); font-size: 0.67rem; font-weight: 850; letter-spacing: 0.08em; }
.method-steps strong { font-size: 1rem; }
.method-steps p { margin: 5px 0 0; color: rgba(255,255,255,0.66); font-size: 0.86rem; line-height: 1.5; }
.light-link { color: white; font-size: 0.84rem; font-weight: 820; text-decoration-thickness: 2px; }

.data-section { background: var(--mint); padding: clamp(82px, 10vw, 132px) 0; }
.data-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(55px, 9vw, 120px); align-items: start; }
.dark-kicker { color: var(--teal); }
.data-section h2 { margin-top: 24px; }
.data-copy > p { margin: 5px 0 31px; color: #41504b; font-size: 1.04rem; line-height: 1.65; }
.data-copy ul { display: grid; gap: 0; margin: 0 0 32px; padding: 0; border-top: 1px solid rgba(7, 61, 54, 0.22); list-style: none; }
.data-copy li { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 20px; border-bottom: 1px solid rgba(7, 61, 54, 0.22); padding: 17px 0; }
.data-copy strong { font-size: 0.84rem; }
.data-copy li span { color: #52625d; font-size: 0.79rem; line-height: 1.45; }

.final-cta { background: var(--orange); padding: 68px 0; }
.final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.final-cta .section-kicker { color: var(--ink); }
.final-cta h2 { max-width: 750px; margin-top: 13px; font-size: clamp(2.2rem, 4.4vw, 4.6rem); }
.final-cta .button-primary { flex: 0 0 auto; background: var(--white); color: var(--ink); box-shadow: 6px 6px 0 var(--teal-deep); }

.site-footer { border-top: 1px solid rgba(255,255,255,0.12); background: var(--teal-deep); color: rgba(255,255,255,0.64); }
.footer-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 35px; padding-block: 38px; font-size: 0.74rem; }
.footer-inner p { margin: 0; }
.footer-brand { display: inline-block; margin-bottom: 7px; color: white; font-size: 1rem; font-weight: 850; letter-spacing: -0.03em; text-decoration: none; }
.footer-inner nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.footer-inner nav a { color: rgba(255,255,255,0.78); font-weight: 720; text-decoration: none; }
.footer-note { justify-self: end; max-width: 290px; text-align: right; line-height: 1.5; }

/* Shared content pages */
.page-main { padding: 62px 0 100px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 34px; padding: 0; color: var(--muted); font-size: 0.72rem; list-style: none; }
.breadcrumbs li + li::before { margin-right: 8px; content: "›"; }
.page-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.45fr); gap: 60px; align-items: end; border-bottom: 1px solid var(--line); padding-bottom: 52px; }
.page-hero h1 { max-width: 900px; font-size: clamp(3.2rem, 6vw, 6.4rem); }
.page-hero .lede { margin-top: 24px; }
.page-aside { border: 1px solid var(--line); border-radius: 20px; background: var(--white); padding: 22px; }
.page-aside p { margin: 0; color: var(--muted); font-size: 0.82rem; line-height: 1.55; }
.page-aside strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 0.82rem; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 70px; padding-top: 58px; }
.article-content { max-width: 780px; }
.article-content h2 { margin: 62px 0 18px; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -0.055em; line-height: 1.02; }
.article-content h2:first-child { margin-top: 0; }
.article-content h3 { margin: 34px 0 12px; font-size: 1.3rem; letter-spacing: -0.035em; }
.article-content p, .article-content li { color: var(--muted); line-height: 1.72; }
.article-content a { color: var(--teal); font-weight: 700; }
.article-content ul, .article-content ol { padding-left: 22px; }
.safety-callout, .info-callout { margin: 28px 0; border-left: 4px solid var(--orange); background: rgba(240,100,59,0.08); padding: 18px 20px; }
.info-callout { border-color: var(--teal); background: rgba(13,89,78,0.07); }
.safety-callout strong, .info-callout strong { display: block; margin-bottom: 5px; }
.safety-callout p, .info-callout p { margin: 0; font-size: 0.9rem; }
.safety-callout p, .info-callout p { color: #46534f; }
.side-nav { position: sticky; top: 25px; align-self: start; border: 1px solid var(--line); border-radius: 18px; background: var(--white); padding: 20px; }
.side-nav strong { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; }
.side-nav ul { display: grid; gap: 10px; margin: 15px 0 0; padding: 0; list-style: none; }
.side-nav a { color: var(--muted); font-size: 0.78rem; text-decoration: none; }
.source-list { display: grid; gap: 12px; padding-left: 0 !important; list-style: none; }
.source-list li { border-top: 1px solid var(--line); padding-top: 12px; }
.source-list small { display: block; color: var(--muted); }
.search-panel { margin: 40px 0; border: 1px solid var(--line); border-radius: 22px; background: var(--white); padding: 24px; }
.search-panel label { display: block; margin-bottom: 9px; font-size: 0.78rem; font-weight: 800; }
.search-control { display: flex; gap: 9px; }
.search-control input { width: 100%; min-height: 54px; border: 1px solid var(--line-strong); border-radius: 13px; padding: 0 15px; }
.search-control input:focus { border-color: var(--teal); box-shadow: 0 0 0 4px rgba(13,89,78,0.11); outline: 0; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.filter-button { border: 1px solid var(--line); border-radius: 999px; background: var(--paper); padding: 8px 12px; color: var(--muted); font-size: 0.72rem; font-weight: 760; cursor: pointer; }
.filter-button[aria-pressed="true"] { border-color: var(--teal); background: var(--teal); color: white; }
.library-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.library-card { display: flex; min-height: 235px; flex-direction: column; border: 1px solid var(--line); border-radius: 20px; background: var(--white); padding: 22px; }
.library-card[hidden] { display: none; }
.library-card h2 { margin: 28px 0 10px; font-size: 1.55rem; letter-spacing: -0.045em; }
.library-card p { margin: 0; color: var(--muted); font-size: 0.85rem; line-height: 1.55; }
.library-card a { margin-top: auto; padding-top: 23px; color: var(--teal); font-size: 0.76rem; font-weight: 800; }
.empty-state { border: 1px dashed var(--line-strong); border-radius: 18px; padding: 30px; color: var(--muted); text-align: center; }
.plain-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.plain-list li { border-top: 1px solid var(--line); padding: 17px 0; }
.not-found { display: grid; min-height: 65vh; place-items: center; padding: 80px 0; text-align: center; }
.not-found .code { color: var(--orange-deep); font-size: clamp(5rem, 18vw, 13rem); font-weight: 900; letter-spacing: -0.09em; line-height: 0.8; }
.not-found h1 { max-width: 780px; margin: 30px auto 0; font-size: clamp(2.6rem, 6vw, 5.3rem); }
.not-found p { max-width: 600px; margin: 24px auto 0; color: var(--muted); line-height: 1.6; }
.centered-actions { justify-content: center; }

@media (max-width: 940px) {
  .site-nav a:not(.nav-action) { display: none; }
  .hero-grid { grid-template-columns: 1fr; gap: 55px; min-height: auto; }
  .hero-copy { max-width: 760px; }
  .decision-card { max-width: 680px; }
  .issue-grid { grid-template-columns: repeat(2, 1fr); }
  .data-grid { grid-template-columns: 1fr; }
  .page-hero { grid-template-columns: 1fr; }
  .content-layout { grid-template-columns: 1fr; }
  .side-nav { position: static; max-width: 600px; }
  .footer-inner { grid-template-columns: 1fr; }
  .footer-inner nav { justify-content: flex-start; }
  .footer-note { justify-self: start; text-align: left; }
}

@media (max-width: 650px) {
  .shell { width: min(100% - 28px, var(--shell)); }
  .trust-bar-inner { justify-content: center; min-height: 39px; text-align: center; }
  .trust-detail { display: none; }
  .header-inner { min-height: 72px; }
  .site-nav .nav-action { margin-left: 0; padding-inline: 13px; font-size: 0.75rem; }
  .brand-copy small { display: none; }
  .hero-grid { padding-block: 58px 45px; }
  h1 { font-size: clamp(3.55rem, 18vw, 5.7rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .proof-points { display: grid; }
  .decision-card { padding: 23px 18px; border-radius: 24px; }
  .field-row { grid-template-columns: 1fr; }
  .result-metrics { grid-template-columns: 1fr; }
  .source-ribbon { align-items: flex-start; flex-direction: column; }
  .source-ribbon ul { width: 100%; justify-content: space-between; gap: 12px; }
  .section-heading { grid-template-columns: 1fr; gap: 23px; }
  .issue-grid { grid-template-columns: 1fr; }
  .issue-card { min-height: 250px; }
  .preview-next-grid { grid-template-columns: 1fr; gap: 25px; }
  .data-copy li { grid-template-columns: 1fr; gap: 5px; }
  .final-cta-inner { align-items: flex-start; flex-direction: column; }
  .library-grid { grid-template-columns: 1fr; }
  .search-control { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}

/* Decision Lab v2 */
.decision-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 4%, rgba(241, 215, 109, 0.32), transparent 29rem),
    radial-gradient(circle at 92% 15%, rgba(204, 232, 193, 0.5), transparent 31rem),
    var(--paper);
  padding: clamp(62px, 7vw, 96px) 0 0;
}
.lab-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.65fr); gap: clamp(45px, 8vw, 110px); align-items: end; margin-bottom: 48px; }
.lab-intro-copy { max-width: 900px; }
.decision-hero h1 { max-width: 900px; font-size: clamp(3.7rem, 6.7vw, 7rem); line-height: 0.91; }
.decision-hero h1 em { display: block; width: fit-content; margin-top: 0.04em; font-size: 0.72em; letter-spacing: -0.055em; }
.decision-hero .lede { max-width: 730px; margin-top: 26px; font-size: clamp(1.05rem, 1.5vw, 1.23rem); }
.signal-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.signal-legend > div { display: grid; grid-template-columns: 38px 1fr; column-gap: 11px; align-items: center; min-height: 82px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,0.7); padding: 13px; }
.signal-legend > div > span { display: grid; grid-row: span 2; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--mint); color: var(--teal-deep); font-size: 1rem; font-weight: 900; }
.signal-legend > div:nth-child(2) > span { background: rgba(241,215,109,0.48); }
.signal-legend > div:nth-child(3) > span { background: rgba(240,100,59,0.14); color: var(--orange-deep); }
.signal-legend > div:nth-child(4) > span { background: var(--teal-deep); color: white; }
.signal-legend strong { align-self: end; font-size: 0.76rem; }
.signal-legend small { align-self: start; color: var(--muted); font-size: 0.63rem; }

.decision-workbench { overflow: hidden; border: 1px solid var(--ink); border-radius: 32px; background: var(--white); box-shadow: 0 34px 100px rgba(8, 52, 46, 0.16); }
.workbench-top { display: flex; align-items: center; justify-content: space-between; gap: 38px; background: var(--teal-deep); color: white; padding: 24px clamp(24px, 4vw, 46px); }
.workbench-top .step-label { color: var(--yellow); }
.workbench-top h2 { margin: 4px 0 0; font-size: clamp(1.45rem, 2.7vw, 2.35rem); letter-spacing: -0.045em; }
.progress-rail { display: flex; gap: 26px; margin: 0; padding: 0; list-style: none; }
.progress-rail li { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.68); font-size: 0.67rem; font-weight: 760; white-space: nowrap; }
.progress-rail span { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(255,255,255,0.26); border-radius: 50%; }
.progress-rail li.is-active { color: white; }
.progress-rail li.is-active span { border-color: var(--yellow); background: var(--yellow); color: var(--teal-deep); }
.workbench-grid { display: grid; grid-template-columns: minmax(420px, 0.82fr) minmax(0, 1.18fr); }
.calculator-form-v2 { align-content: start; gap: 18px; padding: clamp(27px, 4vw, 48px); }
.calculator-form-v2 fieldset { margin: 0; padding: 0; border: 0; }
.calculator-form-v2 legend, .age-label label { margin-bottom: 10px; font-size: 0.77rem; font-weight: 810; }
.appliance-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.appliance-choices legend { grid-column: 1 / -1; }
.appliance-choice { position: relative; display: flex; align-items: center; gap: 13px; min-height: 74px; border: 1px solid var(--line-strong); border-radius: 16px; background: white; padding: 12px 14px; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.appliance-choice:hover { transform: translateY(-2px); border-color: var(--teal); }
.appliance-choice:has(input:checked) { border-color: var(--teal); background: rgba(204,232,193,0.42); box-shadow: inset 0 0 0 1px var(--teal); }
.appliance-choice input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.appliance-choice input:focus-visible + .appliance-pictogram { outline: 3px solid rgba(13,89,78,0.2); outline-offset: 3px; }
.appliance-choice > span:last-child { display: grid; }
.appliance-choice strong { font-size: 0.83rem; }
.appliance-choice small { margin-top: 3px; color: var(--muted); font-size: 0.65rem; }
.appliance-pictogram { position: relative; display: block; flex: 0 0 auto; width: 43px; height: 43px; border: 2px solid var(--teal-deep); border-radius: 10px; background: var(--paper); }
.washer-pictogram::before { position: absolute; top: 10px; left: 10px; width: 18px; height: 18px; border: 3px solid var(--teal); border-radius: 50%; background: rgba(204,232,193,0.6); content: ""; }
.washer-pictogram::after { position: absolute; top: 4px; right: 5px; width: 4px; height: 4px; border-radius: 50%; background: var(--orange); content: ""; }
.dishwasher-pictogram::before { position: absolute; right: 6px; bottom: 8px; left: 6px; height: 13px; border-top: 2px solid var(--teal); border-bottom: 2px solid var(--teal); content: ""; transform: skewY(-8deg); }
.dishwasher-pictogram::after { position: absolute; top: 6px; right: 6px; left: 6px; height: 4px; border-radius: 4px; background: var(--orange); content: ""; }
.age-label { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.age-label label { margin: 0; }
.age-label output { border-radius: 999px; background: var(--teal-deep); color: white; padding: 6px 10px; font-size: 0.69rem; font-weight: 790; }
.age-control input[type="range"] { width: 100%; height: 6px; border: 0; border-radius: 99px; background: linear-gradient(90deg, var(--teal) var(--range-progress, 28%), var(--line) var(--range-progress, 28%)); appearance: none; }
.age-control input[type="range"]::-webkit-slider-thumb { width: 21px; height: 21px; border: 3px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--teal-deep); appearance: none; cursor: grab; }
.age-control input[type="range"]::-moz-range-thumb { width: 17px; height: 17px; border: 3px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--teal-deep); cursor: grab; }
.range-labels { display: flex; justify-content: space-between; margin-top: 7px; color: var(--muted); font-size: 0.59rem; font-weight: 680; }
.money-row { margin-top: 2px; }
.field-hint { margin: -10px 0 0; color: var(--muted); font-size: 0.65rem; line-height: 1.4; }
.precision-panel { border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.precision-panel summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; font-size: 0.74rem; font-weight: 810; cursor: pointer; }
.precision-panel summary small { color: var(--teal); font-size: 0.62rem; }
.precision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; border-top: 1px solid var(--line); padding: 16px; }
.precision-grid .field small { color: var(--muted); font-size: 0.61rem; line-height: 1.4; }
.precision-grid .field select { font-size: 0.76rem; }
.safety-check { display: grid; grid-template-columns: auto 33px 1fr; gap: 10px; align-items: center; border: 1px solid rgba(185,60,29,0.25); border-radius: 15px; background: rgba(240,100,59,0.07); padding: 12px 13px; cursor: pointer; }
.safety-check input { width: 17px; height: 17px; accent-color: var(--orange-deep); }
.safety-check > span:nth-of-type(1) { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-weight: 900; }
.safety-check > span:last-child { display: grid; }
.safety-check strong { font-size: 0.74rem; }
.safety-check small { color: var(--muted); font-size: 0.62rem; line-height: 1.35; }
.calculator-form-v2 .button-calculate { min-height: 58px; margin-top: 0; }
.calculator-form-v2 .field-error { grid-column: 1 / -1; }
.appliance-choices.has-error { border-radius: 12px; box-shadow: 0 0 0 3px rgba(185,60,29,0.12); }

.decision-output-panel { min-width: 0; min-height: 760px; border-left: 1px solid var(--line); background: linear-gradient(155deg, rgba(204,232,193,0.52), rgba(255,253,248,0.98) 55%); padding: clamp(27px, 4vw, 48px); }
.result-empty { display: grid; align-content: start; height: 100%; }
.result-empty[hidden] { display: none; }
.empty-map-head { display: flex; align-items: center; gap: 9px; color: var(--teal-deep); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; }
.live-dot { width: 9px; height: 9px; border-radius: 50%; background: #3cab6a; box-shadow: 0 0 0 5px rgba(60,171,106,0.12); }
.decision-field { position: relative; overflow: hidden; min-height: 380px; margin-top: 20px; border: 1px solid var(--teal-deep); border-radius: 24px; background:
  linear-gradient(rgba(7,61,54,0.1) 1px, transparent 1px),
  linear-gradient(90deg, rgba(7,61,54,0.1) 1px, transparent 1px),
  linear-gradient(135deg, rgba(204,232,193,0.96) 0 32%, rgba(241,215,109,0.6) 49% 66%, rgba(240,100,59,0.25) 82% 100%);
  background-size: 25% 25%, 25% 25%, 100% 100%;
}
.field-label { position: absolute; border-radius: 999px; background: rgba(255,255,255,0.8); padding: 6px 9px; color: var(--teal-deep); font-size: 0.61rem; font-weight: 820; }
.label-repair { top: 18px; left: 18px; }
.label-compare { top: 48%; left: 50%; transform: translate(-50%,-50%); }
.label-replace { right: 18px; bottom: 18px; color: var(--orange-deep); }
.field-axis { position: absolute; color: rgba(7,61,54,0.65); font-size: 0.56rem; font-weight: 760; text-transform: uppercase; letter-spacing: 0.08em; }
.field-axis-x { right: 15px; top: 9px; }
.field-axis-y { bottom: 15px; left: 9px; writing-mode: vertical-rl; }
.field-marker { --marker-x: 50%; --marker-y: 50%; position: absolute; top: var(--marker-y); left: var(--marker-x); width: 22px; height: 22px; border: 5px solid white; border-radius: 50%; background: var(--teal-deep); box-shadow: 0 0 0 2px var(--teal-deep), 0 9px 20px rgba(7,61,54,0.28); opacity: 0.42; transform: translate(-50%,-50%); transition: top 280ms ease, left 280ms ease, opacity 160ms ease; }
.field-marker.is-ready { opacity: 1; }
.empty-map-copy { max-width: 540px; margin-top: 24px; }
.empty-map-copy h3 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.55rem); letter-spacing: -0.05em; }
.empty-map-copy p { margin: 10px 0 0; color: var(--muted); font-size: 0.85rem; line-height: 1.52; }
.preview-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 24px 0 0; }
.preview-stats div { border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,0.78); padding: 12px; }
.preview-stats dt { color: var(--muted); font-size: 0.59rem; }
.preview-stats dd { margin: 7px 0 0; color: var(--teal-deep); font-size: 1.05rem; font-weight: 870; }

.result-v2 { border: 0; padding: 0; }
.result-v2[hidden] { display: none; }
.result-topline { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.result-status { color: var(--orange-deep); font-size: 0.64rem; font-weight: 880; text-transform: uppercase; letter-spacing: 0.1em; }
.confidence-chip { border: 1px solid var(--line); border-radius: 999px; background: white; padding: 6px 9px; color: var(--muted); font-size: 0.6rem; font-weight: 760; }
.verdict-grid { display: grid; grid-template-columns: 118px 1fr; gap: 20px; align-items: center; margin-top: 18px; }
.score-ring { --score-angle: 0deg; display: grid; width: 116px; height: 116px; place-items: center; border-radius: 50%; background: conic-gradient(var(--orange) var(--score-angle), rgba(7,61,54,0.12) 0); position: relative; text-align: center; }
.score-ring::before { position: absolute; inset: 11px; border-radius: 50%; background: var(--white); content: ""; }
.score-ring span, .score-ring small { position: relative; z-index: 1; }
.score-ring span { align-self: end; font-size: 2rem; font-weight: 900; line-height: 1; }
.score-ring small { align-self: start; margin-top: 5px; color: var(--muted); font-size: 0.52rem; font-weight: 720; line-height: 1.2; }
.verdict-grid h3 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.55rem); letter-spacing: -0.055em; line-height: 1; }
.verdict-grid .result-summary { margin: 11px 0 0; font-size: 0.8rem; }
.decision-meter { --score: 50%; position: relative; margin-top: 23px; }
.decision-meter > div { display: grid; grid-template-columns: repeat(3, 1fr); height: 13px; overflow: hidden; border-radius: 99px; background: linear-gradient(90deg, #83c7a4 0 33.33%, var(--yellow) 33.33% 66.66%, var(--orange) 66.66%); }
.decision-meter span { margin-top: 18px; color: var(--muted); font-size: 0.58rem; font-weight: 730; }
.decision-meter span:nth-child(2) { text-align: center; }
.decision-meter span:last-child { text-align: right; }
.decision-meter i { position: absolute; top: -4px; left: var(--score); width: 21px; height: 21px; border: 4px solid white; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 1px var(--ink); transform: translateX(-50%); transition: left 300ms ease; }
.result-metrics-v2 { margin-top: 35px; }
.visual-report, .driver-report, .timeline-card, .threshold-card, .next-step-card { margin-top: 14px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,0.82); padding: 16px; }
.report-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 13px; }
.report-heading strong { font-size: 0.73rem; }
.report-heading small { color: var(--muted); font-size: 0.57rem; }
.cost-bar, .driver-row { display: grid; grid-template-columns: 92px 1fr 72px; gap: 10px; align-items: center; margin-top: 10px; font-size: 0.64rem; }
.cost-bar > div, .driver-row > div { overflow: hidden; height: 10px; border-radius: 99px; background: var(--line); }
.cost-bar i, .driver-row i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--teal); transition: width 380ms ease; }
.cost-bar.is-replace i { background: var(--orange); }
.cost-bar strong, .driver-row b { text-align: right; font-size: 0.68rem; }
.driver-report { background: var(--paper); }
.driver-row { grid-template-columns: 82px 1fr 30px; margin-top: 8px; }
.driver-row i { background: var(--orange); }
.driver-row.is-credit i { background: var(--teal); }
.driver-row.is-credit b { color: var(--teal); }
.threshold-card { display: grid; grid-template-columns: 1fr auto; align-items: center; border-color: rgba(13,89,78,0.26); background: rgba(204,232,193,0.32); }
.threshold-card span { color: var(--teal); font-size: 0.61rem; font-weight: 820; text-transform: uppercase; letter-spacing: 0.08em; }
.threshold-card strong { font-size: 1.3rem; letter-spacing: -0.04em; }
.threshold-card p { grid-column: 1 / -1; margin: 8px 0 0; color: var(--muted); font-size: 0.64rem; line-height: 1.45; }
.timeline-track { display: grid; grid-template-columns: repeat(5, 1fr); position: relative; margin-top: 5px; }
.timeline-track::before { position: absolute; top: 9px; right: 8%; left: 8%; height: 2px; background: var(--line-strong); content: ""; }
.timeline-year { position: relative; z-index: 1; display: grid; justify-items: center; gap: 3px; }
.timeline-year i { width: 19px; height: 19px; border: 4px solid white; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 1px var(--teal); }
.timeline-year.is-replace i { background: var(--orange); box-shadow: 0 0 0 1px var(--orange-deep); }
.timeline-year b { font-size: 0.6rem; }
.timeline-year small { color: var(--muted); font-size: 0.52rem; }
.timeline-totals { display: flex; justify-content: space-between; gap: 15px; margin-top: 14px; color: var(--muted); font-size: 0.58rem; }
.timeline-totals strong { display: block; margin-top: 3px; color: var(--ink); font-size: 0.72rem; }
.next-step-card > strong { font-size: 0.72rem; }
.next-step-card ol { display: grid; gap: 7px; margin: 11px 0 0; padding-left: 20px; color: var(--muted); font-size: 0.67rem; line-height: 1.4; }
.result-v2 .result-caution { border-radius: 0 12px 12px 0; }
.result-v2.is-pause .score-ring { background: conic-gradient(var(--orange-deep) 360deg, var(--line) 0); }
.result-v2.is-pause .decision-meter { opacity: 0.38; }
.result-v2.is-repair .score-ring { background: conic-gradient(var(--teal) var(--score-angle), rgba(7,61,54,0.12) 0); }
.result-v2 .result-actions { justify-content: flex-start; flex-wrap: wrap; }
.source-ribbon-v2 { margin-top: 30px; }

/* Visual content system */
.issue-grid-v2 .issue-card { position: relative; min-height: 292px; }
.issue-section .section-kicker { color: var(--teal); }
.issue-grid-v2 .issue-card h3 { margin: 22px 0 18px; }
.issue-symbol { display: grid; width: 52px; height: 52px; margin-top: 22px; place-items: center; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); color: var(--teal); font-size: 1.45rem; font-weight: 900; }
.issue-card:nth-child(even) .issue-symbol { background: rgba(241,215,109,0.28); color: var(--orange-deep); }
.mini-path { display: flex; align-items: center; gap: 6px; margin-top: auto; color: var(--muted); font-size: 0.59rem; font-weight: 800; }
.mini-path span { border-radius: 999px; background: var(--paper); padding: 6px 7px; }
.mini-path i { flex: 1 1 9px; height: 1px; background: var(--line-strong); }
.issue-grid-v2 .card-link { margin-top: 16px; padding-top: 0; }

.signal-stack-chart { display: grid; gap: 13px; margin-top: 4px; }
.signal-stack-chart > div { display: grid; grid-template-columns: 105px minmax(120px, 1fr) 105px; gap: 13px; align-items: center; }
.signal-stack-chart span, .signal-stack-chart strong { font-size: 0.68rem; }
.signal-stack-chart strong { color: rgba(255,255,255,0.6); font-weight: 700; text-align: right; }
.signal-stack-chart i { overflow: hidden; height: 13px; border: 1px solid rgba(255,255,255,0.16); border-radius: 99px; background: rgba(255,255,255,0.08); }
.signal-stack-chart b { display: block; height: 100%; border-radius: inherit; background: var(--orange); }
.signal-stack-chart .signal-quote { width: 92%; }
.signal-stack-chart .signal-age { width: 63%; background: var(--yellow); }
.signal-stack-chart .signal-reliability { width: 47%; background: #83c7a4; }
.signal-stack-chart .signal-efficiency { width: 25%; background: #75b8d7; }
.signal-stack-chart .signal-warranty { width: 20%; background: white; }
.signal-stack-chart .is-credit i { direction: rtl; }
.signal-stack-chart .is-credit strong { color: var(--mint); }
.zone-scale { display: grid; grid-template-columns: 45fr 17fr 38fr; overflow: hidden; margin-top: 31px; border-radius: 999px; color: var(--teal-deep); font-size: 0.59rem; font-weight: 850; text-align: center; }
.zone-scale span { padding: 8px 5px; background: #83c7a4; }
.zone-scale span:nth-child(2) { background: var(--yellow); }
.zone-scale span:last-child { background: var(--orange); color: var(--ink); }

.data-lede { max-width: 540px; margin: 24px 0 0; color: #41504b; font-size: 1rem; line-height: 1.6; }
.privacy-map { border: 1px solid rgba(7,61,54,0.25); border-radius: 25px; background: rgba(255,255,255,0.64); padding: clamp(20px, 3vw, 30px); }
.privacy-lane { display: grid; grid-template-columns: 52px 1fr; gap: 15px; align-items: center; border-radius: 17px; padding: 15px; }
.privacy-lane > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: var(--teal-deep); color: white; font-size: 1.2rem; font-weight: 900; }
.privacy-lane.aggregate > span { background: var(--orange); color: var(--ink); }
.privacy-lane strong, .privacy-lane small { display: block; }
.privacy-lane strong { font-size: 0.85rem; }
.privacy-lane small { margin-top: 5px; color: var(--muted); font-size: 0.65rem; line-height: 1.45; }
.privacy-divider { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; margin: 12px 0; color: var(--teal); font-size: 0.57rem; font-weight: 830; text-align: center; }
.privacy-divider i { height: 1px; background: rgba(7,61,54,0.2); }
.privacy-map .text-link { display: inline-block; margin: 20px 0 0 15px; }

/* Visual guides */
.guide-page .page-hero { align-items: center; padding-bottom: 42px; }
.guide-page .page-hero h1 { font-size: clamp(3.1rem, 6vw, 6.2rem); }
.safety-aside { display: grid; grid-template-columns: 47px 1fr; gap: 14px; align-items: center; border-color: rgba(185,60,29,0.28); background: rgba(240,100,59,0.07); }
.safety-aside > span { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-size: 1.1rem; font-weight: 900; }
.safety-aside strong { color: var(--orange-deep); }
.safety-aside p { color: #46534f; }
.guide-snapshot { display: grid; grid-template-columns: 1fr 22px 1fr 22px 1fr 22px 1fr; align-items: center; gap: 8px; margin-top: 30px; }
.guide-snapshot > div { display: grid; min-height: 112px; grid-template-columns: 36px 1fr; column-gap: 10px; align-content: center; border: 1px solid var(--line); border-radius: 17px; background: var(--white); padding: 14px; }
.guide-snapshot > div > span { display: grid; grid-row: span 2; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: var(--mint); color: var(--teal-deep); font-size: 0.72rem; font-weight: 900; }
.guide-snapshot > div.is-stop > span { background: var(--orange); color: white; }
.guide-snapshot strong { align-self: end; font-size: 0.73rem; line-height: 1.2; }
.guide-snapshot small { align-self: start; margin-top: 4px; color: var(--muted); font-size: 0.57rem; line-height: 1.35; }
.guide-snapshot > i { height: 1px; background: var(--line-strong); }
.visual-steps { display: grid; gap: 11px; padding: 0 !important; list-style: none; counter-reset: guide-step; }
.visual-steps li { display: grid; grid-template-columns: 43px 1fr; column-gap: 14px; align-items: start; border: 1px solid var(--line); border-radius: 16px; background: var(--white); padding: 16px; counter-increment: guide-step; }
.visual-steps li::before { display: grid; width: 39px; height: 39px; grid-row: span 2; place-items: center; border-radius: 12px; background: var(--teal-deep); color: white; content: counter(guide-step); font-size: 0.72rem; font-weight: 900; }
.visual-steps li strong { display: block; margin-bottom: 3px; color: var(--ink); }
.cause-map { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.cause-map > div { position: relative; display: grid; min-height: 114px; align-content: end; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg, var(--white), rgba(204,232,193,0.38)); padding: 15px; }
.cause-map > div::before { position: absolute; top: 13px; left: 15px; width: 10px; height: 10px; border-radius: 50%; background: #42a968; box-shadow: 0 0 0 6px rgba(66,169,104,0.1); content: ""; }
.cause-map > div.is-service { background: linear-gradient(145deg, var(--white), rgba(240,100,59,0.14)); }
.cause-map > div.is-service::before { background: var(--orange); box-shadow: 0 0 0 6px rgba(240,100,59,0.1); }
.cause-map span, .cause-map strong { display: block; }
.cause-map span { color: var(--muted); font-size: 0.64rem; }
.cause-map strong { margin-top: 5px; font-size: 0.78rem; }
.decision-banner { display: grid; grid-template-columns: 55px 1fr; gap: 16px; align-items: center; border: 1px solid var(--teal); border-radius: 18px; background: rgba(204,232,193,0.32); padding: 17px; }
.decision-banner > span { display: grid; width: 53px; height: 53px; place-items: center; border-radius: 16px; background: var(--teal-deep); color: var(--yellow); font-size: 1.35rem; font-weight: 900; }
.decision-banner strong { color: var(--ink); }
.decision-banner p { margin: 4px 0 0; font-size: 0.8rem; }

/* Problem finder */
.diagnostic-route, .recall-route { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; margin: 30px 0 0; border: 1px solid var(--line); border-radius: 22px; background: var(--white); }
.diagnostic-route > div, .recall-route > div { position: relative; min-height: 126px; border-right: 1px solid var(--line); padding: 20px; }
.diagnostic-route > div:last-child, .recall-route > div:last-child { border-right: 0; }
.diagnostic-route span, .recall-route span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 10px; background: var(--mint); color: var(--teal-deep); font-size: 0.68rem; font-weight: 900; }
.diagnostic-route > div:last-child span, .recall-route > div:last-child span { background: var(--orange); color: white; }
.diagnostic-route strong, .recall-route strong { display: block; margin-top: 15px; font-size: 0.77rem; }
.diagnostic-route small, .recall-route small { display: block; margin-top: 4px; color: var(--muted); font-size: 0.61rem; line-height: 1.4; }
.library-grid-visual { grid-template-columns: repeat(4, 1fr); }
.library-grid-visual .library-card { min-height: 285px; }
.library-symbol { display: grid; width: 48px; height: 48px; margin-top: 19px; place-items: center; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); color: var(--teal); font-size: 1.35rem; font-weight: 900; }
.library-grid-visual .library-card h2 { margin: 19px 0 9px; }
.library-grid-visual .mini-path { margin-top: 17px; }

/* Method, recall, and privacy explainers */
.method-overview { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 18px; margin: 32px 0 0; }
.method-score-card, .method-formula { border: 1px solid var(--line); border-radius: 22px; background: var(--white); padding: 22px; }
.method-score-card { display: grid; place-items: center; background: linear-gradient(145deg, rgba(204,232,193,0.7), var(--white)); text-align: center; }
.method-score-card .score-ring { width: 135px; height: 135px; background: conic-gradient(var(--orange) 216deg, rgba(7,61,54,0.12) 0); }
.method-score-card strong { margin-top: 15px; font-size: 0.8rem; }
.method-score-card small { margin-top: 5px; color: var(--muted); font-size: 0.62rem; }
.formula-list { display: grid; gap: 10px; margin-top: 17px; }
.formula-signal { display: grid; grid-template-columns: 110px 1fr auto; gap: 11px; align-items: center; font-size: 0.65rem; }
.formula-signal i { overflow: hidden; height: 10px; border-radius: 99px; background: var(--line); }
.formula-signal b { display: block; height: 100%; border-radius: inherit; background: var(--orange); }
.formula-signal:nth-child(2) b { background: var(--yellow); }
.formula-signal:nth-child(3) b { background: #83c7a4; }
.formula-signal:nth-child(4) b { background: #75b8d7; }
.formula-signal.is-credit b { background: var(--teal); }
.formula-signal.signal-size-quote b { width: 92%; }
.formula-signal.signal-size-age b { width: 63%; }
.formula-signal.signal-size-reliability b { width: 47%; }
.formula-signal.signal-size-efficiency b { width: 25%; }
.formula-signal.signal-size-warranty b { width: 20%; }
.formula-signal strong { font-size: 0.62rem; }
.method-zones { display: grid; grid-template-columns: 45fr 17fr 38fr; gap: 8px; margin: 24px 0; }
.method-zones > div { border-radius: 15px; padding: 15px; background: rgba(131,199,164,0.28); }
.method-zones > div:nth-child(2) { background: rgba(241,215,109,0.38); }
.method-zones > div:last-child { background: rgba(240,100,59,0.16); }
.method-zones span, .method-zones strong { display: block; }
.method-zones span { color: #46534f; font-size: 0.59rem; }
.method-zones strong { margin-top: 5px; font-size: 0.8rem; }
.input-chip-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0; }
.input-chip-grid > div { border: 1px solid var(--line); border-radius: 15px; background: var(--white); padding: 14px; }
.input-chip-grid span { display: block; color: var(--orange-deep); font-size: 0.57rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.07em; }
.input-chip-grid strong { display: block; margin-top: 6px; font-size: 0.75rem; }
.label-card { display: grid; gap: 7px; background: repeating-linear-gradient(0deg, var(--white), var(--white) 16px, rgba(7,61,54,0.04) 17px); }
.label-card > span { width: fit-content; border-radius: 5px; background: var(--ink); color: white; padding: 5px 7px; font-size: 0.56rem; font-weight: 850; letter-spacing: 0.08em; }
.label-card dl { display: grid; grid-template-columns: auto 1fr; gap: 5px 9px; margin: 0; font-size: 0.64rem; }
.label-card dt { color: var(--muted); }
.label-card dd { margin: 0; font-weight: 800; }
.recall-action { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; margin: 28px 0; border: 1px solid var(--teal); border-radius: 20px; background: rgba(204,232,193,0.3); padding: 22px; }
.recall-action h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.5rem); }
.recall-action p { margin: 7px 0 0; color: var(--muted); font-size: 0.78rem; }
.verify-grid, .privacy-visual { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 18px 0; }
.verify-grid > div, .privacy-visual > div { border: 1px solid var(--line); border-radius: 17px; background: var(--white); padding: 17px; }
.verify-grid span, .privacy-visual span { color: var(--orange-deep); font-size: 0.58rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.08em; }
.verify-grid strong, .privacy-visual strong { display: block; margin-top: 8px; font-size: 0.78rem; }
.verify-grid small, .privacy-visual small { display: block; margin-top: 5px; color: #46534f; font-size: 0.62rem; line-height: 1.42; }
.privacy-visual > div:first-child { background: rgba(204,232,193,0.28); }
.privacy-visual > div:nth-child(2) { background: rgba(241,215,109,0.2); }
.privacy-visual > div:last-child { background: rgba(240,100,59,0.09); }
.measurement-table { display: grid; gap: 0; margin-top: 18px; border-top: 1px solid var(--line); }
.measurement-row { display: grid; grid-template-columns: 0.8fr 0.8fr 1.4fr; gap: 16px; border-bottom: 1px solid var(--line); padding: 15px 0; font-size: 0.72rem; }
.measurement-row span { color: var(--muted); }
.status-live, .status-local, .status-off { width: fit-content; border-radius: 999px; padding: 5px 8px; font-size: 0.56rem; font-weight: 850; }
.status-live { background: var(--mint); color: var(--teal-deep); }
.status-local { background: rgba(241,215,109,0.45); color: var(--ink); }
.status-off { background: var(--paper); color: var(--muted); }

@media (max-width: 1050px) {
  .lab-intro { grid-template-columns: 1fr; }
  .signal-legend { max-width: 650px; }
  .workbench-grid { grid-template-columns: 1fr; }
  .decision-output-panel { min-height: auto; border-top: 1px solid var(--line); border-left: 0; }
  .library-grid-visual { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .decision-hero { padding-top: 48px; }
  .decision-hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .decision-hero h1 em { font-size: 0.67em; }
  .signal-legend { grid-template-columns: 1fr 1fr; }
  .signal-legend > div { grid-template-columns: 30px 1fr; min-height: 70px; padding: 10px; }
  .signal-legend > div > span { width: 30px; height: 30px; }
  .workbench-top { align-items: flex-start; flex-direction: column; }
  .progress-rail { width: 100%; justify-content: space-between; gap: 8px; }
  .progress-rail li { display: grid; justify-items: center; gap: 5px; font-size: 0.57rem; }
  .appliance-choices, .field-row, .precision-grid { grid-template-columns: 1fr; }
  .decision-field { min-height: 285px; }
  .preview-stats { grid-template-columns: 1fr 1fr 1fr; }
  .verdict-grid { grid-template-columns: 92px 1fr; }
  .score-ring { width: 90px; height: 90px; }
  .score-ring span { font-size: 1.5rem; }
  .result-metrics-v2 { grid-template-columns: 1fr 1fr; }
  .result-metrics-v2 div:last-child { grid-column: 1 / -1; }
  .cost-bar { grid-template-columns: 75px 1fr 67px; }
  .source-ribbon-v2 ul { flex-wrap: wrap; }
  .signal-stack-chart > div { grid-template-columns: 82px 1fr 82px; gap: 8px; }
  .signal-stack-chart strong { font-size: 0.57rem; }
  .guide-snapshot { grid-template-columns: 1fr 1fr; }
  .guide-snapshot > i { display: none; }
  .cause-map, .input-chip-grid, .verify-grid, .privacy-visual { grid-template-columns: 1fr; }
  .diagnostic-route, .recall-route { grid-template-columns: 1fr 1fr; }
  .diagnostic-route > div, .recall-route > div { border-bottom: 1px solid var(--line); }
  .diagnostic-route > div:nth-child(2), .recall-route > div:nth-child(2) { border-right: 0; }
  .diagnostic-route > div:nth-last-child(-n+2), .recall-route > div:nth-last-child(-n+2) { border-bottom: 0; }
  .method-overview { grid-template-columns: 1fr; }
  .method-zones { grid-template-columns: 1fr; }
  .recall-action { grid-template-columns: 1fr; }
  .measurement-row { grid-template-columns: 1fr; gap: 7px; }
}

@media (max-width: 520px) {
  .signal-legend { grid-template-columns: 1fr; }
  .preview-stats { grid-template-columns: 1fr; }
  .result-metrics-v2 { grid-template-columns: 1fr; }
  .result-metrics-v2 div:last-child { grid-column: auto; }
  .cost-bar, .driver-row { grid-template-columns: 70px 1fr 62px; }
  .guide-snapshot, .diagnostic-route, .recall-route, .library-grid-visual { grid-template-columns: 1fr; }
  .diagnostic-route > div, .recall-route > div { border-right: 0; border-bottom: 1px solid var(--line) !important; }
  .diagnostic-route > div:last-child, .recall-route > div:last-child { border-bottom: 0 !important; }
  .formula-signal { grid-template-columns: 82px 1fr auto; }
}

@media print {
  .trust-bar, .site-header, .lab-intro, .calculator-form-v2, .source-ribbon, .issue-section, .preview-next, .data-section, .final-cta, .site-footer, .result-actions { display: none !important; }
  .decision-hero { padding: 0; background: white; }
  .decision-workbench { border: 0; box-shadow: none; }
  .workbench-top { color: var(--ink); background: white; padding-inline: 0; }
  .progress-rail { display: none; }
  .workbench-grid { display: block; }
  .decision-output-panel { border: 0; background: white; padding: 0; }
}

/* Explanatory motion system */
@property --score-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@property --method-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.motion-ready .motion-item {
  opacity: 0;
  translate: 0 18px;
  transition:
    opacity 480ms cubic-bezier(0.22, 1, 0.36, 1),
    translate 620ms cubic-bezier(0.22, 1, 0.36, 1),
    scale 620ms cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 650ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--motion-order, 0) * 65ms);
  will-change: opacity, translate;
}
.motion-ready .motion-item.motion-card { scale: 0.975; }
.motion-ready .motion-item.motion-headline { clip-path: inset(0 0 18% 0); translate: 0 12px; }
.motion-ready .lab-intro-copy h1.motion-item { opacity: 1; }
.motion-ready .motion-item.in-view { opacity: 1; translate: 0 0; scale: 1; clip-path: inset(0 0 0 0); }
.motion-ready .motion-item.motion-settled { transition-delay: 0ms; will-change: auto; }

.motion-ready .brand-mark { animation: brand-settle 760ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.motion-ready .pulse { animation: trust-pulse 2.4s ease-out infinite; }
.site-nav a:not(.nav-action) { position: relative; }
.site-nav a:not(.nav-action)::after { position: absolute; right: 11px; bottom: 6px; left: 11px; height: 2px; border-radius: 99px; background: var(--orange); content: ""; scale: 0 1; transform-origin: left; transition: scale 220ms ease; }
.site-nav a:not(.nav-action):hover::after, .site-nav a[aria-current="page"]::after { scale: 1 1; }
.button span[aria-hidden="true"], .nav-action span[aria-hidden="true"] { transition: translate 220ms ease; }
.button:hover span[aria-hidden="true"], .nav-action:hover span[aria-hidden="true"] { translate: 4px 0; }
.footer-inner nav a { background: linear-gradient(var(--yellow), var(--yellow)) 0 100% / 0 2px no-repeat; transition: color 180ms ease, background-size 220ms ease; }
.footer-inner nav a:hover { color: white; background-size: 100% 2px; }
.footer-brand { transition: translate 200ms ease, color 200ms ease; }
.footer-brand:hover { color: var(--yellow); translate: 3px 0; }

.motion-ready .decision-hero h1 em::after { transform: rotate(-1deg) scaleX(0); transform-origin: left; transition: transform 760ms 280ms cubic-bezier(0.22, 1, 0.36, 1); }
.motion-ready .decision-hero h1.in-view em::after { transform: rotate(-1deg) scaleX(1); }
.signal-legend.in-view > div > span { animation: signal-float 3.4s ease-in-out infinite; animation-delay: calc(var(--motion-order, 0) * -420ms); }
.signal-legend.in-view > div:nth-child(2) > span { animation-name: signal-clock; }
.signal-legend.in-view > div:nth-child(3) > span { animation-name: signal-rotate; }
.signal-legend.in-view > div:nth-child(4) > span { animation-name: signal-safety; }

.decision-workbench { isolation: isolate; }
.workbench-top { position: relative; overflow: hidden; }
.workbench-top::after { position: absolute; top: 0; bottom: 0; left: -35%; width: 24%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent); content: ""; transform: skewX(-18deg); animation: header-scan 6.5s ease-in-out infinite; pointer-events: none; }
.progress-rail li.is-active span { animation: progress-pop 420ms cubic-bezier(0.22, 1, 0.36, 1); }
.progress-rail li { transition: color 260ms ease; }
.precision-panel[open] .precision-grid { animation: panel-open 360ms cubic-bezier(0.22, 1, 0.36, 1) both; transform-origin: top; }
.appliance-choice:has(input:checked) .appliance-pictogram { animation: choice-confirm 420ms cubic-bezier(0.22, 1, 0.36, 1); }
.appliance-choice:has(input:checked) .washer-pictogram::before { animation: washer-cycle 2.8s linear infinite; }
.appliance-choice:has(input:checked) .dishwasher-pictogram::before { animation: dishwasher-water 2.2s ease-in-out infinite; }
.field, .age-control, .appliance-choice { transition: translate 220ms ease, filter 220ms ease; }
.field.is-updating, .age-control.is-updating, .appliance-choice.is-updating { translate: 3px 0; filter: saturate(1.15); }
.preview-stats dd.is-ticking { animation: value-tick 300ms cubic-bezier(0.22, 1, 0.36, 1); }
.live-dot { animation: live-pulse 2s ease-out infinite; }

.decision-field::after { position: absolute; top: -30%; right: -30%; bottom: -30%; left: -30%; z-index: 1; background: linear-gradient(112deg, transparent 39%, rgba(255,255,255,0.36) 48%, transparent 57%); content: ""; translate: -42% 0; animation: map-scan 5.5s ease-in-out infinite; pointer-events: none; }
.decision-field .field-label, .decision-field .field-axis { z-index: 2; }
.field-marker { z-index: 2; }
.field-marker::after { position: absolute; inset: -8px; border: 1px solid var(--teal-deep); border-radius: 50%; content: ""; opacity: 0; scale: 0.6; }
.field-marker.is-ready::after { animation: marker-radar 1.9s ease-out infinite; }

.score-ring { transition: --score-angle 900ms cubic-bezier(0.22, 1, 0.36, 1); }
.decision-meter i { transition: left 900ms cubic-bezier(0.22, 1, 0.36, 1); }
.cost-bar i, .driver-row i { transition: width 900ms cubic-bezier(0.22, 1, 0.36, 1); }
.result-v2.is-revealing .verdict-grid { animation: result-rise 520ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.result-v2.is-revealing .result-metrics-v2 { animation: result-rise 520ms 90ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.result-v2.is-revealing .visual-report { animation: result-rise 520ms 150ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.result-v2.is-revealing .driver-report { animation: result-rise 520ms 210ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.result-v2.is-revealing .threshold-card { animation: result-rise 520ms 270ms cubic-bezier(0.22, 1, 0.36, 1) both, threshold-glow 1.1s 800ms ease-out both; }
.result-v2.is-revealing .timeline-card { animation: result-rise 520ms 330ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.result-v2.is-revealing .next-step-card { animation: result-rise 520ms 390ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.result-v2.is-revealing .timeline-year { opacity: 0; animation: timeline-arrive 420ms cubic-bezier(0.22, 1, 0.36, 1) forwards; animation-delay: calc(420ms + var(--timeline-order, 0) * 105ms); }
.result-v2.is-revealing .next-step-card li { opacity: 0; animation: next-step-arrive 360ms 520ms cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.result-v2.is-revealing .next-step-card li:nth-child(2) { animation-delay: 610ms; }
.result-v2.is-revealing .next-step-card li:nth-child(3) { animation-delay: 700ms; }

.issue-card, .library-card { position: relative; overflow: hidden; }
.issue-card::after, .library-card::after { position: absolute; right: -45%; bottom: -50%; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, rgba(204,232,193,0.55), transparent 68%); content: ""; transition: translate 520ms ease; pointer-events: none; }
.issue-card > *, .library-card > * { position: relative; z-index: 1; }
.issue-card:hover::after, .library-card:hover::after { translate: -80% -65%; }
.motion-ready .library-card.motion-settled:hover { translate: 0 -5px; transition-duration: 180ms; }
.issue-card.in-view .issue-symbol, .library-card.in-view .library-symbol { animation: symbol-arrive 650ms 260ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.issue-card:nth-child(1):hover .issue-symbol, .library-card:nth-child(1):hover .library-symbol { animation: symptom-down 620ms ease-in-out infinite; }
.issue-card:nth-child(2):hover .issue-symbol, .library-card:nth-child(2):hover .library-symbol { animation: symptom-spin 1.1s ease-in-out infinite; }
.issue-card:nth-child(3):hover .issue-symbol, .library-card:nth-child(3):hover .library-symbol { animation: symptom-water 800ms ease-in-out infinite; }
.issue-card:nth-child(4):hover .issue-symbol, .library-card:nth-child(4):hover .library-symbol { animation: symptom-shine 950ms ease-in-out infinite; }
.motion-ready .mini-path i { scale: 0 1; transform-origin: left; transition: scale 540ms cubic-bezier(0.22, 1, 0.36, 1); }
.issue-card.in-view .mini-path i, .library-card.in-view .mini-path i { scale: 1 1; }
.issue-card.in-view .mini-path i:nth-of-type(2), .library-card.in-view .mini-path i:nth-of-type(2) { transition-delay: 180ms; }

.motion-ready .signal-stack-chart b, .motion-ready .formula-signal b { transform: scaleX(0); transform-origin: left; transition: transform 820ms cubic-bezier(0.22, 1, 0.36, 1); }
.signal-stack-chart .motion-data.in-view b, .formula-signal.in-view b { transform: scaleX(1); }
.signal-stack-chart .is-credit b, .formula-signal.is-credit b { transform-origin: right; }
.zone-scale.in-view { animation: zone-breathe 800ms ease-out both; }

.privacy-map, .privacy-divider, .privacy-visual > div { position: relative; }
.motion-ready .privacy-divider i { scale: 0 1; transition: scale 620ms ease; }
.privacy-divider.in-view i { scale: 1 1; }
.privacy-divider::after { position: absolute; top: 50%; left: 3%; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(240,100,59,0.12); content: ""; opacity: 0; translate: 0 -50%; }
.privacy-map.in-view .privacy-divider::after { animation: data-travel 3.2s 450ms ease-in-out infinite; }
.privacy-lane.in-view > span { animation: lane-confirm 650ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.privacy-visual > div:not(:last-child)::after { position: absolute; top: 50%; right: -12px; z-index: 2; color: var(--teal); content: "→"; font-weight: 900; opacity: 0; translate: -8px -50%; transition: opacity 260ms ease, translate 420ms ease; }
.privacy-visual.in-view > div:not(:last-child)::after { opacity: 1; translate: 0 -50%; }
.status-live { animation: live-status 2.3s ease-in-out infinite; }

.safety-aside > span { animation: safety-attention 3.2s ease-in-out infinite; }
.motion-ready .guide-snapshot > i { scale: 0 1; transform-origin: left; transition: scale 600ms cubic-bezier(0.22, 1, 0.36, 1); }
.guide-snapshot.in-view > i { scale: 1 1; }
.guide-snapshot.in-view > i:nth-of-type(2) { transition-delay: 180ms; }
.guide-snapshot.in-view > i:nth-of-type(3) { transition-delay: 360ms; }
.visual-steps li { position: relative; }
.visual-steps li:not(:last-child)::after { position: absolute; bottom: -12px; left: 35px; width: 2px; height: 12px; background: var(--teal); content: ""; scale: 1 0; transform-origin: top; transition: scale 420ms 320ms ease; }
.visual-steps li.in-view:not(:last-child)::after { scale: 1 1; }
.visual-steps li.in-view::before { animation: step-confirm 520ms 180ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.cause-map > div.in-view::before { animation: cause-pulse 2.4s 500ms ease-out infinite; }
.decision-banner.in-view > span { animation: decision-coin 620ms 250ms cubic-bezier(0.22, 1, 0.36, 1) both; }

.diagnostic-route > div::before, .recall-route > div::before { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: var(--mint); content: ""; scale: 0 1; transform-origin: left; transition: scale 650ms cubic-bezier(0.22, 1, 0.36, 1); }
.diagnostic-route > div:last-child::before, .recall-route > div:last-child::before { background: var(--orange); }
.diagnostic-route > div.in-view::before, .recall-route > div.in-view::before { scale: 1 1; }
.diagnostic-route > div.in-view span, .recall-route > div.in-view span { animation: route-number 520ms 180ms cubic-bezier(0.22, 1, 0.36, 1) both; }

.method-score-card .score-ring { --method-angle: 216deg; background: conic-gradient(var(--orange) var(--method-angle), rgba(7,61,54,0.12) 0); transition: --method-angle 1.1s 180ms cubic-bezier(0.22, 1, 0.36, 1); }
.motion-ready .method-score-card .score-ring { --method-angle: 0deg; }
.motion-ready .method-score-card.in-view .score-ring { --method-angle: 216deg; }
.method-score-card.in-view .score-ring span { animation: method-count 680ms 320ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.method-zones > div.in-view { animation: zone-settle 620ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.label-card { position: relative; overflow: hidden; }
.label-card::after { position: absolute; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--orange), transparent); content: ""; opacity: 0.75; animation: label-scan 3.4s ease-in-out infinite; }
.recall-action .button.in-view { animation: action-nudge 2.8s 700ms ease-in-out infinite; }

.side-nav a { position: relative; transition: color 180ms ease, translate 180ms ease; }
.side-nav a::before { position: absolute; top: 50%; left: -11px; width: 5px; height: 5px; border-radius: 50%; background: var(--orange); content: ""; opacity: 0; scale: 0; translate: 0 -50%; transition: opacity 180ms ease, scale 180ms ease; }
.side-nav a.is-current { color: var(--teal); translate: 7px 0; font-weight: 800; }
.side-nav a.is-current::before { opacity: 1; scale: 1; }

.reading-progress { position: fixed; top: 0; right: 0; left: 0; z-index: 1000; height: 4px; background: rgba(255,255,255,0.14); pointer-events: none; }
.reading-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--teal), var(--yellow), var(--orange)); transform: scaleX(0); transform-origin: left; transition: transform 90ms linear; }
.not-found .code { animation: lost-number 3.8s ease-in-out infinite; }

@keyframes brand-settle { 0% { opacity: 0; rotate: -18deg; scale: 0.72; } 65% { rotate: 2deg; scale: 1.06; } 100% { opacity: 1; rotate: 0deg; scale: 1; } }
@keyframes trust-pulse { 0% { box-shadow: 0 0 0 0 rgba(130,227,144,0.35); } 70%, 100% { box-shadow: 0 0 0 8px rgba(130,227,144,0); } }
@keyframes signal-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -4px; } }
@keyframes signal-clock { 0%, 100% { rotate: 0deg; } 45% { rotate: 8deg; } 55% { rotate: -4deg; } }
@keyframes signal-rotate { 0%, 70%, 100% { rotate: 0deg; } 82% { rotate: 150deg; } }
@keyframes signal-safety { 0%, 75%, 100% { scale: 1; } 84% { scale: 1.1; } 91% { scale: 0.96; } }
@keyframes header-scan { 0%, 18% { translate: 0 0; } 52%, 100% { translate: 620% 0; } }
@keyframes progress-pop { 0% { scale: 0.72; } 70% { scale: 1.14; } 100% { scale: 1; } }
@keyframes panel-open { from { opacity: 0; scale: 1 0.94; translate: 0 -7px; } to { opacity: 1; scale: 1; translate: 0; } }
@keyframes choice-confirm { 0% { scale: 0.85; rotate: -5deg; } 65% { scale: 1.08; rotate: 2deg; } 100% { scale: 1; rotate: 0deg; } }
@keyframes washer-cycle { to { rotate: 360deg; } }
@keyframes dishwasher-water { 0%, 100% { translate: 0 0; } 50% { translate: 0 -3px; } }
@keyframes value-tick { 0% { opacity: 0.35; translate: 0 5px; } 100% { opacity: 1; translate: 0; } }
@keyframes live-pulse { 0% { box-shadow: 0 0 0 0 rgba(60,171,106,0.35); } 70%, 100% { box-shadow: 0 0 0 9px rgba(60,171,106,0); } }
@keyframes map-scan { 0%, 12% { translate: -42% 0; } 58%, 100% { translate: 48% 0; } }
@keyframes marker-radar { 0% { opacity: 0.5; scale: 0.6; } 75%, 100% { opacity: 0; scale: 1.8; } }
@keyframes result-rise { from { opacity: 0; translate: 0 16px; } to { opacity: 1; translate: 0; } }
@keyframes threshold-glow { 0% { box-shadow: 0 0 0 0 rgba(13,89,78,0.25); } 100% { box-shadow: 0 0 0 12px rgba(13,89,78,0); } }
@keyframes timeline-arrive { from { opacity: 0; translate: -9px 0; } to { opacity: 1; translate: 0; } }
@keyframes next-step-arrive { from { opacity: 0; translate: 8px 0; } to { opacity: 1; translate: 0; } }
@keyframes symbol-arrive { 0% { opacity: 0; scale: 0.5; rotate: -10deg; } 70% { scale: 1.12; rotate: 2deg; } 100% { opacity: 1; scale: 1; rotate: 0deg; } }
@keyframes symptom-down { 0%, 100% { translate: 0 -3px; } 55% { translate: 0 4px; } }
@keyframes symptom-spin { 0%, 100% { rotate: 0deg; } 50% { rotate: 180deg; } }
@keyframes symptom-water { 0%, 100% { translate: 0 -2px; scale: 1 0.95; } 50% { translate: 0 3px; scale: 1.08 1; } }
@keyframes symptom-shine { 0%, 100% { scale: 0.92; rotate: -5deg; } 50% { scale: 1.1; rotate: 7deg; } }
@keyframes zone-breathe { 0% { filter: saturate(0.6); scale: 0.98 1; } 100% { filter: saturate(1); scale: 1; } }
@keyframes data-travel { 0%, 8% { left: 3%; opacity: 0; } 16% { opacity: 1; } 84% { opacity: 1; } 94%, 100% { left: calc(97% - 7px); opacity: 0; } }
@keyframes lane-confirm { 0% { scale: 0.65; rotate: -8deg; } 70% { scale: 1.1; rotate: 3deg; } 100% { scale: 1; rotate: 0deg; } }
@keyframes live-status { 0%, 100% { box-shadow: 0 0 0 0 rgba(66,169,104,0); } 50% { box-shadow: 0 0 0 5px rgba(66,169,104,0.12); } }
@keyframes safety-attention { 0%, 78%, 100% { scale: 1; } 84% { scale: 1.08; } 90% { scale: 0.98; } }
@keyframes step-confirm { 0% { scale: 0.6; rotate: -8deg; } 70% { scale: 1.12; rotate: 2deg; } 100% { scale: 1; rotate: 0deg; } }
@keyframes cause-pulse { 0% { box-shadow: 0 0 0 0 rgba(66,169,104,0.24); } 70%, 100% { box-shadow: 0 0 0 10px rgba(66,169,104,0); } }
@keyframes decision-coin { 0% { scale: 0.45; rotate: -35deg; } 70% { scale: 1.1; rotate: 5deg; } 100% { scale: 1; rotate: 0deg; } }
@keyframes route-number { 0% { scale: 0.5; } 70% { scale: 1.14; } 100% { scale: 1; } }
@keyframes method-count { from { opacity: 0; scale: 0.7; } to { opacity: 1; scale: 1; } }
@keyframes zone-settle { 0% { opacity: 0.4; scale: 0.92; } 70% { scale: 1.03; } 100% { opacity: 1; scale: 1; } }
@keyframes label-scan { 0%, 10% { top: 8%; opacity: 0; } 20% { opacity: 0.75; } 80% { opacity: 0.75; } 90%, 100% { top: 92%; opacity: 0; } }
@keyframes action-nudge { 0%, 75%, 100% { translate: 0 0; } 83% { translate: 4px 0; } 90% { translate: -2px 0; } }
@keyframes lost-number { 0%, 100% { translate: 0 0; rotate: -1deg; } 50% { translate: 0 -8px; rotate: 1deg; } }

@media (max-width: 720px) {
  .privacy-visual > div::after { display: none; }
  .motion-ready .motion-item { translate: 0 12px; }
  .workbench-top::after { animation-duration: 8s; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; transition-delay: 0ms !important; }
  .motion-ready .motion-item { opacity: 1 !important; translate: 0 !important; scale: 1 !important; clip-path: none !important; }
  .signal-stack-chart b, .formula-signal b, .mini-path i, .guide-snapshot > i, .privacy-divider i { transform: none !important; scale: 1 !important; }
  .field-marker::after, .decision-field::after, .privacy-divider::after, .label-card::after { display: none !important; }
}

@media print {
  .reading-progress { display: none !important; }
  .motion-ready .motion-item { opacity: 1 !important; translate: 0 !important; scale: 1 !important; clip-path: none !important; }
}

/* Clear calculator story card — release 6 */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
.kinetic-hero { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(480px, 1.18fr); gap: clamp(35px, 6vw, 90px); align-items: center; min-height: min(760px, 78vh); margin-bottom: clamp(35px, 6vw, 74px); }
.kinetic-hero-copy { position: relative; z-index: 2; }
.motion-ready .kinetic-hero-copy h1.motion-item { opacity: 1; translate: 0; clip-path: none; }
.kinetic-hero-copy h1 { max-width: 760px; font-size: clamp(3.55rem, 6vw, 6.8rem); line-height: 0.89; }
.kinetic-hero-copy h1 em { display: inline; color: var(--teal); font-size: 0.62em; }
.kinetic-hero-copy .lede { margin-top: 25px; color: var(--teal-deep); font-size: clamp(1.15rem, 1.8vw, 1.5rem); font-weight: 790; letter-spacing: -0.025em; }
.hero-start { margin-top: 28px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.hero-proof span { border: 1px solid rgba(7,61,54,0.16); border-radius: 999px; background: rgba(255,255,255,0.55); padding: 7px 10px; color: var(--teal-deep); font-size: 0.62rem; font-weight: 810; }

.calculator-story { --story-accent: var(--orange); position: relative; width: min(100%, 760px); overflow: hidden; border: 1px solid rgba(7,61,54,.24); border-radius: 32px; background: var(--teal-deep); box-shadow: 0 30px 70px rgba(7,61,54,.2); color: white; isolation: isolate; }
.calculator-story::before { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 24% 24%, rgba(204,232,193,.15), transparent 30%), radial-gradient(circle at 82% 62%, rgba(240,100,59,.13), transparent 26%); content: ""; pointer-events: none; }
.story-topbar { display: flex; align-items: center; justify-content: space-between; min-height: 42px; border-bottom: 1px solid rgba(255,255,255,.1); padding: 8px 16px; color: rgba(255,255,255,.67); font-size: .54rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.story-topbar span { display: flex; align-items: center; gap: 8px; }.story-topbar span i { width: 7px; height: 7px; border-radius: 50%; background: #57c77e; box-shadow: 0 0 0 5px rgba(87,199,126,.12); animation: live-pulse 2s ease-out infinite; }.story-topbar b { color: white; }
.story-sample { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; min-height: 43px; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); padding: 8px 16px; color: rgba(255,255,255,.72); font-size: .55rem; font-weight: 760; }.story-sample i { opacity: .35; font-style: normal; }.story-sample b { margin-left: auto; border: 1px solid rgba(241,215,109,.4); border-radius: 999px; background: rgba(241,215,109,.08); padding: 5px 7px; color: var(--yellow); font-size: .46rem; letter-spacing: .1em; }
.story-viewport { position: relative; min-height: 425px; }
.story-scene { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(205px,.82fr); min-height: 425px; }
.story-scene:not(.is-active) { display: none; }.experience-ready .story-scene.is-active { animation: story-scene-in 560ms cubic-bezier(.22,1,.36,1) both; }
.story-canvas { position: relative; display: grid; min-height: 425px; place-items: center; overflow: hidden; border-right: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 50% 48%, rgba(255,255,255,.11), transparent 40%), linear-gradient(145deg, rgba(12,93,81,.95), rgba(7,61,54,.72)); isolation: isolate; }
.story-canvas::before { position: absolute; inset: 8%; z-index: -1; border: 1px dashed rgba(255,255,255,.12); border-radius: 50%; content: ""; animation: orbit-turn 28s linear infinite; }.story-canvas::after { position: absolute; inset: 20%; z-index: -1; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; content: ""; }
.story-explain { display: grid; align-content: center; min-width: 0; padding: clamp(22px,3.1vw,38px); background: rgba(2,26,23,.24); }.story-stage-label { color: var(--yellow); font-size: .5rem; font-weight: 900; letter-spacing: .15em; }.story-explain h2 { margin: 12px 0 0; color: white; font-size: clamp(1.65rem,2.8vw,2.7rem); line-height: .96; letter-spacing: -.055em; }.story-explain > p { margin: 15px 0 0; color: rgba(255,255,255,.68); font-size: .7rem; line-height: 1.5; }.story-equation { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 18px; }.story-equation span,.story-equation strong { border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.07); padding: 6px 7px; color: rgba(255,255,255,.82); font-size: .52rem; font-weight: 800; }.story-equation strong { border-color: rgba(241,215,109,.36); background: rgba(241,215,109,.1); color: var(--yellow); }.story-equation b { color: var(--orange); font-size: .58rem; }.story-equation output { color: inherit; font: inherit; }.story-rule { margin-top: 11px; color: rgba(255,255,255,.47); font-size: .48rem; line-height: 1.45; }.story-cta { display: inline-flex; width: fit-content; align-items: center; gap: 8px; margin-top: 20px; border-radius: 999px; background: var(--orange); padding: 10px 13px; color: white; font-size: .58rem; font-weight: 900; }

.story-actions-mini { display: grid; gap: 5px; margin: 15px 0 0; padding: 0; list-style: none; }
.story-actions-mini li { display: grid; grid-template-columns: 25px 1fr; align-items: center; gap: 7px; opacity: 0; translate: 12px 0; }
.story-scene.is-active .story-actions-mini li { animation: stream-enter 380ms cubic-bezier(.22,1,.36,1) forwards; }
.story-scene.is-active .story-actions-mini li:nth-child(2) { animation-delay: 150ms; }
.story-scene.is-active .story-actions-mini li:nth-child(3) { animation-delay: 300ms; }
.story-actions-mini span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; background: rgba(204,232,193,.13); color: var(--mint); font-size: .42rem; font-weight: 900; }
.story-actions-mini b { color: rgba(255,255,255,.72); font-size: .48rem; line-height: 1.25; }

.story-dock { position: relative; display: grid; grid-template-columns: 44px minmax(140px,1fr) 44px 112px; gap: 8px; align-items: center; overflow: hidden; margin: 8px; border: 1px solid rgba(7,61,54,.1); border-radius: 19px; background: var(--white); padding: 10px 12px 13px; color: var(--ink); box-shadow: 0 13px 32px rgba(0,0,0,.16); }
.story-dock button { border: 0; font: inherit; cursor: pointer; transition: translate 180ms ease,background 180ms ease,color 180ms ease; }
.story-dock button:hover { translate: 0 -2px; }
.story-dock-prev,.story-dock-play { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; background: var(--paper); color: var(--teal-deep); font-size: .75rem; font-weight: 900; }
.story-dock-play { background: var(--mint); }
.story-dock-main { display: grid; min-width: 0; gap: 8px; }
.story-dock-title { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 8px; }
.story-dock-title span { flex: 0 0 auto; color: var(--orange-deep); font-size: .45rem; font-weight: 900; letter-spacing: .08em; }
.story-dock-title strong { overflow: hidden; color: var(--teal-deep); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.story-dock-track { display: grid; grid-template-columns: repeat(9,1fr); gap: 4px; align-items: center; }
.story-dock-track i { height: 4px; border-radius: 99px; background: rgba(7,61,54,.12); transition: background 260ms ease,scale 260ms ease; }
.story-dock-track i.is-complete { background: rgba(13,89,78,.45); }
.story-dock-track i.is-active { background: var(--orange); scale: 1 1.6; }
.story-dock-next { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; min-height: 44px; border-radius: 14px; background: var(--teal-deep); padding: 8px 10px; color: white; text-align: left; }
.story-dock-next span,.story-dock-next b { grid-column: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.story-dock-next span { grid-row: 1; color: rgba(255,255,255,.58); font-size: .4rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.story-dock-next b { grid-row: 2; align-self: start; font-size: .5rem; }.story-dock-next i { grid-row: 1 / 3; grid-column: 2; margin-left: 8px; color: var(--yellow); font-style: normal; font-weight: 900; }
.story-autoplay { position: absolute; right: 0; bottom: 0; left: 0; z-index: 4; height: 3px; background: rgba(7,61,54,.08); }.story-autoplay i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--teal),var(--yellow),var(--orange)); transform: scaleX(0); transform-origin: left; }.story-autoplay.is-running i { animation: story-progress var(--story-duration,4600ms) linear forwards; }

.story-washer { position: relative; width: 148px; height: 174px; border: 6px solid white; border-radius: 24px; background: linear-gradient(145deg,#fff,#d9e8e3); box-shadow: 0 19px 0 rgba(0,0,0,.16),0 30px 45px rgba(0,0,0,.18); }.story-panel { position: absolute; top: 12px; right: 12px; left: 12px; height: 11px; border-radius: 99px; background: linear-gradient(90deg,var(--teal) 0 67%,var(--yellow) 67% 84%,var(--orange) 84%); }.story-drum { position: absolute; top: 46px; left: 50%; width: 96px; height: 96px; overflow: hidden; border: 7px solid var(--teal-deep); border-radius: 50%; background: var(--mint); translate: -50%; }.story-drum > b { position: absolute; top: 26px; left: 19px; width: 58px; height: 37px; border-radius: 52% 48% 60% 40%; background: rgba(240,100,59,.55); rotate: 15deg; animation: story-load-turn 3s ease-in-out infinite; }.story-water { position: absolute; right: -5px; bottom: -3px; left: -5px; height: 42%; border-radius: 45% 55% 0 0; background: rgba(72,171,194,.58); animation: story-water-rise 2.7s ease-in-out infinite; }.story-washer > span { position: absolute; bottom: 10px; left: 50%; width: 35px; height: 5px; border-radius: 99px; background: rgba(7,61,54,.25); translate: -50%; }
.symptom-signal { position: absolute; top: 14%; right: 7%; display: grid; width: 83px; min-height: 83px; place-items: center; border: 1px solid rgba(255,255,255,.26); border-radius: 21px; background: rgba(255,255,255,.1); text-align: center; backdrop-filter: blur(6px); }.symptom-signal i { width: 18px; height: 18px; border-radius: 50%; background: #48abc2; box-shadow: 0 0 0 8px rgba(72,171,194,.13); animation: active-signal 1.7s ease-out infinite; }.symptom-signal b { color: white; font-size: .48rem; line-height: 1.2; }.context-link { position: absolute; right: 5%; bottom: 11%; left: 59%; display: flex; align-items: center; gap: 8px; }.context-link i { flex: 1; height: 3px; background: repeating-linear-gradient(90deg,var(--yellow) 0 8px,transparent 8px 14px); animation: conveyor-line 1.4s linear infinite; }.context-link span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; background: var(--yellow); color: var(--teal-deep); font-size: .62rem; font-weight: 900; }

.life-gauge { position: relative; display: grid; width: 190px; height: 190px; place-items: center; border-radius: 50%; background: conic-gradient(var(--orange) var(--story-life-angle,262deg),rgba(255,255,255,.1) 0); box-shadow: 0 22px 45px rgba(0,0,0,.18); }.life-gauge::before { position: absolute; inset: 16px; border-radius: 50%; background: var(--teal-deep); content: ""; }.life-gauge > i { position: absolute; inset: 29px; border: 1px dashed rgba(255,255,255,.17); border-radius: 50%; animation: orbit-turn 14s linear infinite; }.life-gauge b,.life-gauge span { position: relative; z-index: 2; }.life-gauge b { align-self: end; font-size: 4.4rem; line-height: .85; letter-spacing: -.08em; }.life-gauge span { align-self: start; color: rgba(255,255,255,.55); font-size: .57rem; }.life-result { position: absolute; right: 7%; bottom: 12%; display: grid; min-width: 108px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.08); padding: 11px; }.life-result span { color: rgba(255,255,255,.5); font-size: .48rem; }.life-result strong { margin-top: 3px; font-size: 1.35rem; }.life-result i { height: 4px; margin-top: 8px; border-radius: 99px; background: linear-gradient(90deg,var(--teal) var(--story-life),rgba(255,255,255,.1) var(--story-life)); }.pressure-pill { position: absolute; top: 12%; right: 8%; border: 1px solid rgba(240,100,59,.42); border-radius: 999px; background: rgba(240,100,59,.15); padding: 8px 10px; color: #ffd9cc; font-size: .52rem; font-weight: 900; animation: pressure-arrive 3.1s ease-in-out infinite; }

.quote-columns { display: flex; width: 82%; height: 255px; align-items: end; justify-content: center; gap: 25px; }.quote-column { display: grid; width: 85px; justify-items: center; align-content: end; color: rgba(255,255,255,.62); font-size: .5rem; font-weight: 850; }.quote-column i { display: block; width: 62px; height: 110px; margin: 8px 0; border-radius: 13px 13px 4px 4px; background: var(--orange); transform-origin: bottom; }.quote-new i { height: 230px; background: var(--mint); }.quote-column b { color: white; font-size: .72rem; }.story-scene.is-active .quote-repair i { animation: column-grow-repair 1.1s cubic-bezier(.22,1,.36,1) both; }.story-scene.is-active .quote-new i { animation: column-grow-new 1.1s 120ms cubic-bezier(.22,1,.36,1) both; }.ratio-bridge { display: grid; width: 75px; align-self: center; justify-items: center; color: white; }.ratio-bridge i { width: 100%; height: 3px; background: repeating-linear-gradient(90deg,var(--yellow) 0 7px,transparent 7px 12px); animation: conveyor-line 1.4s linear infinite; }.ratio-bridge strong { margin-top: 10px; font-size: 1.25rem; }.ratio-bridge small { color: rgba(255,255,255,.5); font-size: .45rem; }

.reliability-stream { display: grid; width: 72%; gap: 10px; }.reliability-stream > span { display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.07); padding: 9px 11px; opacity: 0; translate: -25px 0; }.story-scene.is-active .reliability-stream > span { animation: stream-enter 480ms cubic-bezier(.22,1,.36,1) forwards; }.story-scene.is-active .reliability-stream > span:nth-child(2) { animation-delay: 220ms; }.story-scene.is-active .reliability-stream > span:nth-child(3) { animation-delay: 440ms; }.reliability-stream i { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--mint); color: var(--teal-deep); font-style: normal; font-size: .5rem; font-weight: 900; }.reliability-stream b { color: rgba(255,255,255,.68); font-size: .52rem; }.reliability-stream strong { color: var(--yellow); font-size: .64rem; }.stream-merge { position: absolute; right: 7%; display: grid; width: 85px; height: 190px; align-content: center; gap: 39px; }.stream-merge i { width: 50px; height: 2px; background: linear-gradient(90deg,var(--mint),transparent); }.stream-merge b { position: absolute; top: 50%; right: 0; display: grid; width: 58px; height: 58px; place-items: center; border-radius: 18px; background: var(--orange); color: white; translate: 0 -50%; font-size: 1rem; animation: merge-total 2.8s ease-in-out infinite; }.confidence-badge { position: absolute; right: 7%; bottom: 8%; display: flex; align-items: center; gap: 7px; border-radius: 999px; background: rgba(255,255,255,.08); padding: 7px 9px; }.confidence-badge span { color: rgba(255,255,255,.45); font-size: .43rem; }.confidence-badge strong { color: white; font-size: .5rem; }

.offset-scale { position: relative; display: grid; width: 80%; grid-template-columns: 1fr 1fr; gap: 65px; align-items: end; }.offset-scale > div { display: grid; min-height: 135px; align-content: center; justify-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: rgba(255,255,255,.07); padding: 14px; }.offset-scale span { color: rgba(255,255,255,.52); font-size: .48rem; }.offset-scale b { margin-top: 8px; color: white; font-size: .72rem; }.offset-scale strong { margin-top: 12px; color: var(--orange); font-size: 1.2rem; }.offset-scale > div:last-of-type strong { color: var(--mint); }.offset-beam { position: absolute; right: 8%; bottom: -25px; left: 8%; height: 7px; border-radius: 99px; background: var(--yellow); rotate: -2deg; animation: offset-balance 3.2s ease-in-out infinite; }.offset-scale > em { position: absolute; bottom: -85px; left: 50%; width: 0; height: 0; border-right: 38px solid transparent; border-bottom: 62px solid rgba(255,255,255,.18); border-left: 38px solid transparent; translate: -50%; }.offset-net { position: absolute; bottom: 6%; left: 50%; display: flex; align-items: center; gap: 8px; border-radius: 999px; background: var(--teal-deep); padding: 7px 10px; translate: -50%; }.offset-net span { color: rgba(255,255,255,.5); font-size: .44rem; }.offset-net strong { color: white; font-size: .62rem; }

.hazard-packets { position: absolute; left: 5%; display: grid; gap: 14px; }.hazard-packets span { min-width: 98px; border: 1px solid rgba(240,100,59,.5); border-radius: 11px; background: rgba(240,100,59,.12); padding: 10px; color: #ffd9cc; font-size: .46rem; font-weight: 900; text-align: center; animation: hazard-bump 3s ease-in-out infinite; }.hazard-packets span:nth-child(2) { animation-delay: -1s; }.hazard-packets span:nth-child(3) { animation-delay: -2s; }.safety-gate-story { position: absolute; top: 11%; bottom: 11%; left: 49%; display: grid; width: 65px; place-items: center; border: 2px solid var(--orange); border-radius: 18px; background: repeating-linear-gradient(135deg,var(--orange-deep) 0 10px,#8f321b 10px 20px); box-shadow: 0 18px 35px rgba(0,0,0,.2); }.safety-gate-story b { rotate: -90deg; font-size: .48rem; letter-spacing: .16em; }.safety-gate-story i { position: absolute; right: 8px; left: 8px; height: 2px; background: rgba(255,255,255,.25); }.safety-gate-story i:first-child { top: 23%; }.safety-gate-story i:last-child { bottom: 23%; }.safety-pass { position: absolute; right: 5%; display: grid; width: 120px; min-height: 115px; place-items: center; border: 1px solid rgba(204,232,193,.4); border-radius: 20px; background: rgba(204,232,193,.1); padding: 11px; text-align: center; }.safety-pass span { color: rgba(255,255,255,.48); font-size: .44rem; }.safety-pass strong { color: var(--mint); font-size: .56rem; }.safety-pass i { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #42a968; color: white; font-style: normal; animation: active-signal 1.8s ease-out infinite; }

.score-assembly { position: absolute; top: 8%; bottom: 23%; left: 5%; display: grid; width: 48%; align-content: end; gap: 5px; }.score-piece { display: grid; grid-template-columns: 1fr auto; align-items: center; overflow: hidden; height: 32px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: rgba(255,255,255,.05); opacity: 0; translate: -18px 0; }.score-piece i { width: var(--piece-size,75%); height: 100%; background: var(--piece-color,var(--orange)); }.score-piece b { padding-right: 8px; color: white; font-size: .44rem; }.piece-quote { --piece-size:92%; }.piece-age { --piece-size:48%; --piece-color:var(--yellow); }.piece-reliability { --piece-size:31%; --piece-color:#83c7a4; }.piece-efficiency { --piece-size:18%; --piece-color:#75b8d7; }.piece-warranty { --piece-size:18%; --piece-color:white; }.story-scene.is-active .score-piece { animation: score-piece-in 430ms cubic-bezier(.22,1,.36,1) forwards; }.story-scene.is-active .score-piece:nth-child(2) { animation-delay: 140ms; }.story-scene.is-active .score-piece:nth-child(3) { animation-delay: 280ms; }.story-scene.is-active .score-piece:nth-child(4) { animation-delay: 420ms; }.story-scene.is-active .score-piece:nth-child(5) { animation-delay: 560ms; }.story-score-ring { position: absolute; top: 23%; right: 7%; display: grid; width: 132px; height: 132px; place-items: center; border-radius: 50%; background: conic-gradient(var(--orange) var(--story-score-angle,230deg),rgba(255,255,255,.1) 0); }.story-score-ring::before { position: absolute; inset: 12px; border-radius: 50%; background: var(--teal-deep); content: ""; }.story-score-ring strong,.story-score-ring small { position: relative; z-index: 2; }.story-score-ring strong { align-self: end; font-size: 2.8rem; line-height: .85; }.story-score-ring small { align-self: start; color: rgba(255,255,255,.45); font-size: .55rem; }.story-score-ring i { position: absolute; inset: -9px; border: 1px dashed rgba(255,255,255,.18); border-radius: 50%; animation: orbit-turn 16s linear infinite; }.story-zones { position: absolute; right: 5%; bottom: 9%; left: 5%; display: grid; grid-template-columns: 44fr 18fr 38fr; overflow: visible; border-radius: 999px; }.story-zones span { padding: 7px 4px; background: #83c7a4; color: var(--teal-deep); font-size: .42rem; font-weight: 900; text-align: center; }.story-zones span:nth-child(2) { background: var(--yellow); }.story-zones span:nth-child(3) { background: var(--orange); }.story-zones i { position: absolute; top: -5px; left: var(--story-score); width: 18px; height: 18px; border: 4px solid white; border-radius: 50%; background: var(--ink); translate: -50%; transition: left 800ms cubic-bezier(.22,1,.36,1); }

.value-bars-story { position: absolute; top: 12%; right: 8%; left: 8%; display: grid; gap: 15px; }.value-bars-story > div { display: grid; grid-template-columns: 78px 1fr 58px; gap: 8px; align-items: center; }.value-bars-story span { color: rgba(255,255,255,.58); font-size: .48rem; }.value-bars-story > div > i { overflow: hidden; height: 15px; border-radius: 99px; background: rgba(255,255,255,.09); }.value-bars-story i b { display: block; width: var(--story-repair-value,100%); height: 100%; border-radius: inherit; background: var(--orange); transform: scaleX(0); transform-origin: left; }.value-bars-story > div:nth-child(2) i b { width: var(--story-replace-value,26%); background: var(--mint); }.story-scene.is-active .value-bars-story i b { animation: value-bar-grow 900ms 200ms cubic-bezier(.22,1,.36,1) forwards; }.value-bars-story strong { color: white; font-size: .54rem; text-align: right; }.guardrail-story { position: absolute; right: 8%; bottom: 18%; left: 8%; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.06); padding: 13px; }.guardrail-story > span { color: rgba(255,255,255,.52); font-size: .47rem; }.guardrail-story > i { position: relative; display: block; height: 10px; margin-top: 12px; border-radius: 99px; background: linear-gradient(90deg,#83c7a4 0 var(--story-cap-position,23%),var(--yellow) var(--story-cap-position,23%) var(--story-trigger-position,44%),var(--orange) var(--story-trigger-position,44%)); }.guardrail-story > i::before,.guardrail-story > i::after { position: absolute; top: -4px; width: 2px; height: 18px; background: white; content: ""; }.guardrail-story > i::before { left: var(--story-cap-position,23%); }.guardrail-story > i::after { left: var(--story-trigger-position,44%); }.guardrail-story > i b { position: absolute; top: -5px; left: var(--story-quote-position,46%); z-index: 2; width: 20px; height: 20px; border: 4px solid white; border-radius: 50%; background: var(--orange-deep); translate: -50%; animation: marker-radar 1.9s ease-out infinite; }.guardrail-story > strong { display: block; margin-top: 9px; color: white; font-size: .52rem; }.guardrail-story > em { display: block; margin-top: 3px; color: var(--mint); font-size: .45rem; font-style: normal; }.reliable-years { position: absolute; right: 8%; bottom: 5%; display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.52); }.reliable-years b { color: var(--yellow); font-size: 1.1rem; }.reliable-years span { max-width: 80px; font-size: .43rem; line-height: 1.2; }

.guardrail-story > small { display: block; margin-top: 3px; color: #ffd9cc; font-size: .45rem; }

.story-timeline { position: absolute; top: 24%; right: 6%; left: 6%; display: grid; grid-template-columns: repeat(5,1fr); }.story-timeline > i { position: absolute; top: 15px; right: 8%; left: 8%; height: 3px; background: rgba(255,255,255,.16); }.story-timeline span { position: relative; z-index: 2; display: grid; justify-items: center; gap: 6px; opacity: 0; }.story-scene.is-active .story-timeline span { animation: timeline-arrive 420ms cubic-bezier(.22,1,.36,1) forwards; }.story-scene.is-active .story-timeline span:nth-of-type(2) { animation-delay: 120ms; }.story-scene.is-active .story-timeline span:nth-of-type(3) { animation-delay: 240ms; }.story-scene.is-active .story-timeline span:nth-of-type(4) { animation-delay: 360ms; }.story-scene.is-active .story-timeline span:nth-of-type(5) { animation-delay: 480ms; }.story-timeline span::before { width: 31px; height: 31px; border: 5px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 2px var(--orange-deep); content: ""; }.story-timeline span.is-repair::before { background: var(--teal); box-shadow: 0 0 0 2px var(--mint); }.story-timeline b { color: white; font-size: .5rem; }.story-timeline small { color: rgba(255,255,255,.48); font-size: .43rem; }.five-year-totals { position: absolute; right: 10%; bottom: 30%; left: 10%; display: flex; justify-content: space-between; gap: 15px; }.five-year-totals span { color: rgba(255,255,255,.5); font-size: .45rem; }.five-year-totals strong { display: block; margin-top: 3px; color: white; font-size: .65rem; }.story-verdict { position: absolute; right: 7%; bottom: 7%; left: 7%; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(240,100,59,.34); border-radius: 16px; background: rgba(240,100,59,.12); padding: 11px; }.story-verdict > i { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: var(--orange); color: white; font-style: normal; font-weight: 900; }.story-verdict > span { display: grid; }.story-verdict small { color: rgba(255,255,255,.5); font-size: .43rem; }.story-verdict strong { margin-top: 3px; color: white; font-size: .55rem; line-height: 1.25; }

.progress-rail { grid-template-columns: repeat(4, auto); }
.progress-rail li.is-current span { background: var(--orange); color: white; box-shadow: 0 0 0 6px rgba(240,100,59,0.14); }
.visual-wizard { display: block; min-height: 740px; padding: clamp(27px, 4vw, 48px); }
.lab-step { animation: wizard-step-in 520ms cubic-bezier(.22,1,.36,1) both; }
.lab-step[hidden] { display: none !important; }
.step-question { display: flex; align-items: center; gap: 15px; margin-bottom: 27px; }
.step-question > span { display: grid; flex: 0 0 auto; width: 48px; height: 48px; place-items: center; border: 1px solid var(--teal); border-radius: 15px; background: var(--mint); color: var(--teal-deep); font-size: 0.68rem; font-weight: 900; }
.step-question p { margin: 0 0 4px; color: var(--muted); font-size: 0.61rem; font-weight: 790; text-transform: uppercase; letter-spacing: 0.1em; }
.step-question h3 { margin: 0; font-size: clamp(2rem, 3.8vw, 3.4rem); letter-spacing: -0.06em; line-height: 0.95; }
.appliance-choice-large { display: grid; min-height: 210px; justify-items: center; align-content: center; text-align: center; padding: 22px; }
.appliance-choice-large > span:last-child { margin-top: 14px; }
.appliance-choice-large strong { font-size: 1rem; }.appliance-choice-large small { font-size: 0.6rem; }
.choice-machine { position: relative; display: block; width: 100px; height: 116px; border: 4px solid var(--teal-deep); border-radius: 20px; background: linear-gradient(155deg, white, var(--paper)); box-shadow: 0 10px 0 rgba(7,61,54,0.08); transition: scale 420ms cubic-bezier(.22,1,.36,1), rotate 420ms ease; }
.choice-machine::before { position: absolute; top: 11px; right: 10px; left: 10px; height: 8px; border-radius: 99px; background: var(--line-strong); content: ""; }.choice-light { position: absolute; top: 12px; right: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.choice-door { position: absolute; top: 34px; left: 50%; width: 62px; height: 62px; overflow: hidden; border: 4px solid var(--teal); border-radius: 50%; background: var(--mint); translate: -50%; }.choice-door b { position: absolute; width: 39px; height: 19px; left: 9px; bottom: 9px; border-radius: 50% 45% 55% 40%; background: rgba(13,89,78,0.25); rotate: -12deg; }
.dishwasher-machine { height: 116px; border-radius: 14px; }.choice-rack { position: absolute; right: 11px; bottom: 17px; left: 11px; height: 48px; border-top: 3px solid var(--teal); border-bottom: 3px solid var(--teal); background: repeating-linear-gradient(90deg, transparent 0 9px, rgba(13,89,78,0.28) 9px 11px); }.choice-rack::after { position: absolute; right: 8px; bottom: 9px; left: 8px; height: 4px; border-radius: 99px; background: var(--orange); content: ""; }.choice-rack b { position: absolute; top: -19px; left: 50%; width: 58px; height: 4px; border-radius: 99px; background: var(--line-strong); translate: -50%; }
.appliance-choice:has(input:checked) .choice-machine { scale: 1.07; rotate: -2deg; }.appliance-choice:has(input:checked) .choice-door { animation: washer-cycle 2.4s linear infinite; }.appliance-choice:has(input:checked) .choice-light { animation: live-pulse 1.7s ease-out infinite; }
.symptom-field { margin-top: 18px; }
.wizard-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.wizard-back { border: 0; background: transparent; padding: 12px 4px; color: var(--teal); font: inherit; font-size: 0.68rem; font-weight: 820; cursor: pointer; }
.visual-wizard > .form-note { margin-top: 25px; }

.age-stage { position: relative; display: grid; min-height: 335px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 25px; background: radial-gradient(circle at 50% 45%, white 0 16%, rgba(204,232,193,0.62) 17% 39%, rgba(241,215,109,0.22) 40% 58%, var(--paper) 59%); }
.age-orbit { position: relative; display: grid; width: 170px; aspect-ratio: 1; place-items: center; border: 1px solid var(--teal); border-radius: 50%; background: rgba(255,255,255,0.75); box-shadow: 0 18px 38px rgba(7,61,54,0.11); }
.age-orbit::before { position: absolute; inset: -35px; border: 1px dashed rgba(13,89,78,0.25); border-radius: 50%; content: ""; animation: orbit-turn 15s linear infinite; }.age-orbit::after { position: absolute; top: -40px; left: 50%; width: 13px; height: 13px; border: 4px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--orange-deep); content: ""; translate: -50%; }
.age-orbit b { align-self: end; font-size: 4.2rem; letter-spacing: -0.08em; line-height: 0.85; }.age-orbit span { align-self: start; color: var(--muted); font-size: 0.68rem; font-weight: 800; }
.age-orbit i { position: absolute; inset: 9px; border: 1px solid rgba(7,61,54,0.1); border-radius: 50%; }.age-orbit i:nth-child(2) { inset: 20px; }.age-orbit i:nth-child(3) { inset: 31px; }
.age-life-track { position: absolute; right: 9%; bottom: 24px; left: 9%; overflow: hidden; height: 10px; border-radius: 99px; background: rgba(7,61,54,0.09); }.age-life-track i { display: block; width: 28%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--teal), var(--yellow), var(--orange)); transition: width 380ms ease; }.age-life-track b { position: absolute; top: -4px; left: 48%; width: 2px; height: 18px; background: rgba(7,61,54,0.35); }
.age-life-labels { position: absolute; right: 9%; bottom: 6px; left: 9%; display: flex; justify-content: space-between; color: var(--muted); font-size: 0.5rem; font-weight: 780; }
.lab-step .age-control { margin-top: 25px; }

.price-balance { --repair-load: 18%; --replace-load: 18%; --balance-tilt: 0deg; position: relative; min-height: 290px; overflow: hidden; border: 1px solid var(--line); border-radius: 25px; background: radial-gradient(circle at 50% 75%, rgba(204,232,193,0.65), transparent 34%), linear-gradient(180deg, white, var(--paper)); }
.balance-beam { position: absolute; top: 45%; left: 50%; width: 68%; height: 7px; border-radius: 99px; background: var(--teal-deep); rotate: var(--balance-tilt); translate: -50%; transition: rotate 600ms cubic-bezier(.22,1,.36,1); }.balance-beam::before, .balance-beam::after { position: absolute; top: 0; width: 2px; height: 73px; background: var(--teal); content: ""; }.balance-beam::before { left: 4%; }.balance-beam::after { right: 4%; }.balance-beam i { position: absolute; top: -8px; left: 50%; width: 22px; height: 22px; border: 4px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--teal-deep); translate: -50%; }
.balance-pan { position: absolute; bottom: 30px; display: grid; width: 34%; height: 92px; align-content: end; justify-items: center; border-bottom: 5px solid var(--teal-deep); border-radius: 0 0 50% 50%; }.repair-pan { left: 10%; }.replace-pan { right: 10%; }.balance-pan span { margin-bottom: 8px; color: var(--muted); font-size: 0.58rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.1em; }.balance-pan i { width: min(var(--repair-load), 100%); min-width: 42px; height: 38px; border-radius: 10px 10px 3px 3px; background: var(--teal); transition: width 430ms ease, height 430ms ease; }.replace-pan i { width: min(var(--replace-load), 100%); background: var(--orange); }
.balance-center { position: absolute; bottom: 18px; left: 50%; width: 24%; height: 40%; translate: -50%; }.balance-center i { position: absolute; right: 0; bottom: 0; left: 0; height: 8px; border-radius: 99px; background: var(--teal-deep); }.balance-center b { position: absolute; bottom: 8px; left: 50%; width: 0; height: 0; border-right: 45px solid transparent; border-bottom: 100px solid rgba(13,89,78,0.2); border-left: 45px solid transparent; translate: -50%; }
.price-balance.has-values .balance-pan i { animation: weight-land 430ms cubic-bezier(.22,1,.36,1); }

.symptom-motion { position: relative; display: grid; min-height: 150px; margin: 20px 0 10px; place-items: center; border-radius: 21px; background: radial-gradient(circle, rgba(204,232,193,0.7), transparent 68%); }
.tiny-washer, .tiny-dishwasher { position: relative; width: 88px; height: 103px; border: 4px solid var(--teal-deep); border-radius: 17px; background: white; box-shadow: 0 9px 0 rgba(7,61,54,0.08); }.tiny-washer::before, .tiny-dishwasher::before { position: absolute; top: 9px; right: 9px; left: 9px; height: 7px; border-radius: 99px; background: var(--line-strong); content: ""; }.tiny-door { position: absolute; top: 28px; left: 50%; width: 58px; height: 58px; overflow: hidden; border: 4px solid var(--teal); border-radius: 50%; background: rgba(204,232,193,0.65); translate: -50%; }.tiny-door b { position: absolute; right: 4px; bottom: 5px; left: 4px; height: 24px; border-radius: 50%; background: rgba(13,89,78,0.25); }.tiny-light { position: absolute; top: 10px; right: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.tiny-dishwasher { height: 107px; border-radius: 12px; }.tiny-dishwasher > i { position: absolute; top: 31px; right: 10px; left: 10px; height: 3px; background: var(--teal); box-shadow: 0 17px 0 var(--teal), 0 34px 0 var(--teal); }.tiny-dishwasher > b { position: absolute; right: 16px; bottom: 14px; left: 16px; height: 4px; border-radius: 99px; background: var(--orange); }.tiny-dishwasher > span { position: absolute; right: 12px; bottom: 9px; left: 12px; height: 32px; background: repeating-linear-gradient(90deg, transparent 0 8px, rgba(13,89,78,0.22) 8px 10px); }
.symptom-motion .water-level { position: absolute; bottom: 31px; left: 50%; width: 47px; height: 25px; border-radius: 4px 4px 50% 50%; background: rgba(72,171,194,0.48); translate: -50%; animation: water-worry 2.4s ease-in-out infinite; }.dishwasher-water .water-level { bottom: 31px; width: 63px; height: 18px; border-radius: 4px; }
.motion-arrow { position: absolute; top: 10px; right: 17%; display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-size: 0.9rem; font-weight: 900; box-shadow: 0 0 0 7px rgba(240,100,59,0.11); }.washer-water .motion-arrow { animation: arrow-down 1.4s ease-in-out infinite; }.washer-spin .tiny-door { animation: reluctant-spin 2s ease-in-out infinite; }.washer-spin .spin-ring { position: absolute; width: 81px; height: 81px; border: 2px dashed var(--orange); border-radius: 50%; animation: orbit-turn 5s linear infinite; }.washer-spin .motion-arrow { animation: orbit-turn 2.2s linear infinite; }.dishwasher-spray .spray-a, .dishwasher-spray .spray-b { position: absolute; bottom: 43px; left: 50%; width: 65px; height: 43px; border-top: 3px dotted #48abc2; border-radius: 50%; translate: -50%; animation: spray-pulse 1.3s ease-in-out infinite; }.dishwasher-spray .spray-b { width: 42px; height: 62px; animation-delay: -650ms; }
.issue-grid-v2 .issue-card { min-height: 360px; }.issue-grid-v2 .issue-card h3 { margin: 8px 0 0; }.issue-grid-v2 .card-link { margin-top: auto; }

.signal-theater { position: relative; min-height: 390px; overflow: hidden; border: 1px solid rgba(255,255,255,0.16); border-radius: 28px; background: radial-gradient(circle at 50% 65%, rgba(204,232,193,0.18), transparent 34%), rgba(255,255,255,0.04); padding: 28px; }
.signal-conveyor { position: absolute; top: 38px; right: 8%; left: 8%; display: flex; justify-content: space-between; align-items: center; }.signal-conveyor span { z-index: 2; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,0.24); border-radius: 14px; background: rgba(255,255,255,0.1); color: white; font-size: 0.72rem; font-weight: 900; animation: conveyor-bob 3s ease-in-out infinite; }.signal-conveyor span:nth-child(2) { animation-delay: -600ms; }.signal-conveyor span:nth-child(3) { animation-delay: -1200ms; }.signal-conveyor span:nth-child(4) { animation-delay: -1800ms; }.signal-conveyor span:nth-child(5) { animation-delay: -2400ms; }.signal-conveyor i { position: absolute; right: 20px; bottom: -10px; left: 20px; height: 3px; border-radius: 99px; background: repeating-linear-gradient(90deg, var(--orange) 0 10px, transparent 10px 17px); animation: conveyor-line 1.5s linear infinite; }
.signal-press { position: absolute; top: 117px; left: 50%; width: 72px; height: 72px; translate: -50%; }.signal-press i { position: absolute; top: 0; left: 50%; width: 5px; height: 37px; background: var(--yellow); translate: -50%; animation: press-down 2.6s ease-in-out infinite; }.signal-press b { position: absolute; bottom: 0; left: 50%; width: 70px; height: 20px; border-radius: 8px; background: var(--orange); translate: -50%; }
.decision-dial { position: absolute; right: 10%; bottom: 45px; left: 10%; height: 145px; overflow: hidden; border-radius: 170px 170px 24px 24px; background: conic-gradient(from 270deg at 50% 100%, #83c7a4 0 30deg, var(--yellow) 30deg 60deg, var(--orange) 60deg 90deg, transparent 90deg); }.decision-dial::after { position: absolute; right: 30px; bottom: 0; left: 30px; height: 112px; border-radius: 140px 140px 0 0; background: var(--teal-deep); content: ""; }.decision-dial span { position: absolute; z-index: 2; bottom: 18px; color: white; font-size: 0.54rem; font-weight: 850; }.decision-dial span:nth-child(1) { left: 12%; }.decision-dial span:nth-child(2) { left: 50%; translate: -50%; }.decision-dial span:nth-child(3) { right: 10%; }.decision-dial i { position: absolute; z-index: 3; bottom: 0; left: 50%; width: 5px; height: 88px; border-radius: 99px 99px 0 0; background: white; transform-origin: 50% 100%; rotate: -38deg; animation: needle-decide 5.5s ease-in-out infinite; }.decision-dial b { position: absolute; z-index: 4; bottom: -11px; left: 50%; width: 36px; height: 36px; border: 8px solid var(--teal-deep); border-radius: 50%; background: var(--orange); translate: -50%; }
.signal-caption { position: absolute; right: 25px; bottom: 12px; left: 25px; display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,0.62); font-size: 0.55rem; }.signal-caption i { flex: 1; height: 1px; background: rgba(255,255,255,0.16); }.signal-caption strong { color: white; }

.data-gate { position: relative; min-height: 360px; overflow: hidden; border: 1px solid rgba(7,61,54,0.2); border-radius: 27px; background: rgba(255,255,255,0.66); padding: 28px; }
.data-source, .data-pass { position: absolute; top: 54px; bottom: 74px; display: grid; align-content: space-around; }.data-source { left: 8%; }.data-pass { right: 8%; }.data-source span, .data-pass span { display: grid; min-width: 76px; height: 42px; place-items: center; border-radius: 12px; font-size: 0.58rem; font-weight: 880; }.data-source span { border: 1px solid var(--orange); background: rgba(240,100,59,0.1); color: var(--orange-deep); animation: private-bounce 3.2s ease-in-out infinite; }.data-source span:nth-child(2) { animation-delay: -1.05s; }.data-source span:nth-child(3) { animation-delay: -2.1s; }.data-pass span { border: 1px solid var(--teal); background: var(--mint); color: var(--teal-deep); animation: broad-pass 3.2s ease-in-out infinite; }.data-pass span:nth-child(2) { animation-delay: -1.05s; }.data-pass span:nth-child(3) { animation-delay: -2.1s; }
.gate-wall { position: absolute; top: 24px; bottom: 73px; left: 50%; display: grid; width: 82px; place-items: center; border: 2px solid var(--teal-deep); border-radius: 24px; background: repeating-linear-gradient(135deg, var(--teal-deep) 0 12px, #0b4b43 12px 24px); color: white; translate: -50%; box-shadow: 0 15px 35px rgba(7,61,54,0.2); }.gate-wall::before { position: absolute; top: 50%; left: 100%; width: 58px; height: 4px; border-radius: 99px; background: var(--mint); content: ""; }.gate-wall::after { position: absolute; top: calc(50% - 5px); left: calc(100% + 49px); width: 12px; height: 12px; border-radius: 50%; background: var(--orange); content: ""; animation: gate-pulse 1.7s ease-out infinite; }.gate-wall i { position: absolute; right: 9px; left: 9px; height: 2px; background: rgba(255,255,255,0.25); }.gate-wall i:first-child { top: 25%; }.gate-wall i:last-child { bottom: 25%; }.gate-wall b { rotate: -90deg; font-size: 0.55rem; letter-spacing: 0.18em; }
.gate-labels { position: absolute; right: 7%; bottom: 45px; left: 7%; display: flex; justify-content: space-between; color: var(--teal-deep); font-size: 0.61rem; }.data-gate .text-link { position: absolute; bottom: 15px; left: 28px; margin: 0; }

@keyframes orbit-turn { to { rotate: 360deg; } }
@keyframes orbit-turn-reverse { to { rotate: -360deg; } }
@keyframes signal-travel { 0% { left: 8%; opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { left: 90%; opacity: 0; } }
@keyframes orbit-core-float { 0%,100% { translate: -50% -50%; } 50% { translate: -50% calc(-50% - 8px); } }
@keyframes orbit-stutter { 0%,100% { rotate: 0deg; } 35% { rotate: 26deg; } 45% { rotate: 18deg; } 70% { rotate: 86deg; } }
@keyframes safety-flash { 0%,100% { opacity: 1; } 50% { opacity: 0.2; } }
@keyframes active-signal { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--orbit-accent,var(--orange)) 50%, transparent); } 80%,100% { box-shadow: 0 0 0 14px transparent; } }
@keyframes story-scene-in { from { opacity: 0; translate: 18px 0; } to { opacity: 1; translate: 0; } }
@keyframes story-progress { to { transform: scaleX(1); } }
@keyframes story-load-turn { 0%,100% { rotate: 15deg; translate: 0 0; } 50% { rotate: 145deg; translate: 7px -3px; } }
@keyframes story-water-rise { 0%,100% { height: 34%; } 50% { height: 52%; } }
@keyframes pressure-arrive { 0%,20% { opacity: .25; scale: .85; } 45%,85% { opacity: 1; scale: 1; } 100% { opacity: .25; scale: .92; } }
@keyframes column-grow-repair { from { scale: 1 0; } to { scale: 1; } }
@keyframes column-grow-new { from { scale: 1 0; } to { scale: 1; } }
@keyframes stream-enter { to { opacity: 1; translate: 0; } }
@keyframes merge-total { 0%,25% { scale: .75; opacity: .35; } 55%,90% { scale: 1; opacity: 1; } 100% { scale: .82; opacity: .45; } }
@keyframes offset-balance { 0%,100% { rotate: -2deg; } 50% { rotate: 2deg; } }
@keyframes hazard-bump { 0%,100% { translate: 0; } 48% { translate: 38px 0; } 58% { translate: 27px 0; } }
@keyframes score-piece-in { to { opacity: 1; translate: 0; } }
@keyframes value-bar-grow { to { transform: scaleX(1); } }
@keyframes wizard-step-in { from { opacity: 0; translate: 28px 0; } to { opacity: 1; translate: 0; } }
@keyframes weight-land { 0% { scale: 0.75; translate: 0 -18px; } 70% { scale: 1.06; } 100% { scale: 1; translate: 0; } }
@keyframes water-worry { 0%,100% { height: 20px; } 50% { height: 33px; } }
@keyframes arrow-down { 0%,100% { translate: 0 -4px; } 50% { translate: 0 5px; } }
@keyframes reluctant-spin { 0%,22%,100% { rotate: 0deg; } 52% { rotate: 120deg; } 60% { rotate: 102deg; } }
@keyframes spray-pulse { 0%,100% { scale: .75; opacity: .3; } 55% { scale: 1.08; opacity: 1; } }
@keyframes conveyor-bob { 0%,100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes conveyor-line { to { background-position: 17px 0; } }
@keyframes press-down { 0%,25%,100% { height: 24px; } 50%,70% { height: 45px; } }
@keyframes needle-decide { 0%,100% { rotate: -38deg; } 35% { rotate: 5deg; } 68% { rotate: 39deg; } }
@keyframes private-bounce { 0%,100% { translate: 0 0; } 45% { translate: 70px 0; } 55% { translate: 54px 0; } }
@keyframes broad-pass { 0%,10% { translate: -88px 0; opacity: 0; } 35%,100% { translate: 0; opacity: 1; } }
@keyframes gate-pulse { 0% { box-shadow: 0 0 0 0 rgba(240,100,59,.45); } 80%,100% { box-shadow: 0 0 0 13px transparent; } }

@media (max-width: 1050px) {
  .kinetic-hero { grid-template-columns: 1fr; min-height: 0; }.kinetic-hero-copy { text-align: center; }.kinetic-hero-copy h1 { margin-inline: auto; }.kinetic-hero-copy .lede { margin-inline: auto; }.hero-proof { justify-content: center; }.calculator-story { max-width: 760px; margin-inline: auto; }
  .visual-wizard { min-height: 0; }.decision-output-panel { min-height: 680px; }
}
@media (max-width: 720px) {
  .kinetic-hero { gap: 28px; }.kinetic-hero-copy h1 { font-size: clamp(3.05rem, 14.5vw, 5.2rem); }.calculator-story { width: calc(100% + 20px); margin-left: -10px; border-radius: 24px; }.story-viewport { min-height: 0; touch-action: pan-y; }.story-scene { grid-template-columns: 1fr; min-height: 0; }.story-canvas { min-height: 320px; border-right: 0; border-bottom: 0; }.story-explain { position: relative; z-index: 2; min-height: 300px; margin: -18px 9px 9px; border: 1px solid rgba(7,61,54,.1); border-radius: 23px; background: var(--white); padding: 25px; box-shadow: 0 18px 42px rgba(0,0,0,.2); }.story-stage-label { color: var(--orange-deep); }.story-explain h2 { color: var(--ink); }.story-explain > p { color: var(--muted); }.story-equation span,.story-equation strong { border-color: rgba(7,61,54,.13); background: var(--paper); color: var(--teal-deep); }.story-equation strong { border-color: rgba(185,60,29,.22); background: rgba(241,215,109,.28); color: var(--teal-deep); }.story-rule { color: var(--muted); }.story-actions-mini span { background: var(--mint); color: var(--teal-deep); }.story-actions-mini b { color: var(--muted); }.story-cta { background: var(--teal-deep); }.story-sample { justify-content: center; }.story-sample b { margin-left: 0; }
  .progress-rail { width: 100%; grid-template-columns: repeat(4, 1fr); }.progress-rail li { justify-content: center; font-size: 0; }.progress-rail li span { font-size: .58rem; }
  .visual-wizard { padding: 23px 18px; }.appliance-choice-large { min-height: 175px; padding: 15px; }.choice-machine { scale: .82; margin: -9px; }.step-question h3 { font-size: 2.25rem; }.age-stage { min-height: 285px; }.price-balance { min-height: 245px; }.balance-beam { width: 74%; }.balance-pan { width: 37%; }.repair-pan { left: 6%; }.replace-pan { right: 6%; }
  .signal-theater { min-height: 345px; padding-inline: 12px; }.signal-conveyor { right: 4%; left: 4%; }.signal-conveyor span { width: 39px; height: 39px; }.decision-dial { right: 4%; left: 4%; }
  .data-gate { min-height: 335px; padding-inline: 12px; }.data-source { left: 3%; }.data-pass { right: 3%; }.data-source span,.data-pass span { min-width: 60px; font-size: .5rem; }.gate-wall { width: 66px; }.gate-labels { right: 3%; left: 3%; }
}
@media (max-width: 450px) {
  .story-topbar,.story-sample { padding-inline: 11px; }.story-sample { gap: 5px; }.story-canvas { min-height: 290px; }.story-explain { min-height: 285px; margin-inline: 7px; padding: 21px; }.story-explain h2 { font-size: 1.85rem; }.story-dock { grid-template-columns: 36px minmax(0,1fr) 36px 82px; gap: 5px; margin: 7px; padding: 8px 8px 11px; border-radius: 17px; }.story-dock-prev,.story-dock-play { width: 36px; height: 38px; border-radius: 12px; }.story-dock-next { min-height: 38px; padding: 6px 8px; border-radius: 12px; }.story-dock-next i { margin-left: 5px; }.story-dock-title { gap: 5px; }.story-dock-title span { font-size: .39rem; }.story-dock-title strong { font-size: .52rem; }.story-dock-track { gap: 3px; }.story-dock-track i { height: 3px; }.story-washer { scale: .84; }.symptom-signal { right: 4%; scale: .82; }.life-gauge { width: 160px; height: 160px; }.life-gauge b { font-size: 3.6rem; }.quote-columns { gap: 10px; width: 94%; }.quote-column { width: 70px; }.quote-column i { width: 52px; }.ratio-bridge { width: 58px; }.reliability-stream { width: 76%; margin-left: -14%; }.stream-merge { right: 2%; }.offset-scale { width: 91%; gap: 35px; }.hazard-packets { left: 2%; }.hazard-packets span { min-width: 78px; }.safety-gate-story { left: 45%; }.safety-pass { right: 2%; width: 101px; }.story-score-ring { right: 4%; width: 112px; height: 112px; }.score-assembly { left: 3%; width: 50%; }.value-bars-story,.guardrail-story { right: 5%; left: 5%; }
  .appliance-choices { grid-template-columns: 1fr 1fr; }.appliance-choice-large { min-height: 155px; }.choice-machine { scale: .72; margin: -15px; }.wizard-actions .button { padding-inline: 15px; }.price-balance { min-height: 220px; }.balance-center { height: 35%; }.balance-center b { border-right-width: 34px; border-bottom-width: 78px; border-left-width: 34px; }
}
@media print {
  .kinetic-hero { display: none !important; }
}

/* Animated explainer players */
.scene-player { position: relative; overflow: hidden; margin: 26px 0 34px; border: 1px solid rgba(7,61,54,0.22); border-radius: 32px; background: var(--teal-deep); box-shadow: 0 24px 60px rgba(7,61,54,0.13); color: white; }
.scene-stage { min-height: 520px; }
.motion-scene { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); min-height: 520px; }
.experience-ready .motion-scene:not(.is-active) { display: none; }
.experience-ready .motion-scene.is-active { animation: scene-enter 620ms cubic-bezier(.22,1,.36,1) both; }
.scene-visual { position: relative; display: grid; min-height: 520px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 48%, rgba(255,255,255,.13), transparent 36%), linear-gradient(145deg, #0c5d51, #073d36 72%); isolation: isolate; }
.scene-visual::before { position: absolute; inset: 7%; z-index: -2; border: 1px dashed rgba(255,255,255,.15); border-radius: 50%; content: ""; animation: orbit-turn 28s linear infinite; }
.scene-visual::after { position: absolute; inset: 16%; z-index: -2; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; }
.scene-copy { display: grid; align-content: center; padding: clamp(30px, 5vw, 62px); background: rgba(0,0,0,.1); }
.scene-copy > span { color: var(--yellow); font-size: .62rem; font-weight: 900; letter-spacing: .16em; }
.scene-copy h2 { margin: 14px 0 0; color: white; font-size: clamp(2.2rem, 4vw, 4rem); line-height: .92; letter-spacing: -.06em; }
.scene-copy p { margin: 20px 0 0; color: rgba(255,255,255,.72); font-size: clamp(.92rem, 1.35vw, 1.08rem); line-height: 1.45; }
.scene-copy .scene-stop { display: inline-flex; width: fit-content; margin-top: 24px; border-radius: 999px; background: var(--orange); padding: 8px 11px; color: white; font-size: .58rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.scene-nav { display: grid; grid-template-columns: auto auto 1fr auto; gap: 14px; align-items: center; min-height: 78px; border-top: 1px solid rgba(255,255,255,.12); padding: 14px 22px; }
.scene-button { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(255,255,255,.08); color: white; font: inherit; cursor: pointer; transition: background 180ms ease, translate 180ms ease; }.scene-button:hover { background: rgba(255,255,255,.17); }.scene-button:first-child:hover { translate: -3px 0; }.scene-button:last-child:hover { translate: 3px 0; }
.scene-counter { color: rgba(255,255,255,.68); font-size: .58rem; font-weight: 850; letter-spacing: .12em; }
.scene-dots { display: flex; justify-content: center; gap: 7px; }.scene-dot { width: 28px; height: 7px; border: 0; border-radius: 99px; background: rgba(255,255,255,.22); padding: 0; cursor: pointer; transition: width 260ms ease, background 260ms ease; }.scene-dot.is-active { width: 54px; background: var(--orange); }
.scene-progress { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: rgba(255,255,255,.08); }.scene-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--mint), var(--yellow), var(--orange)); transform: scaleX(0); transform-origin: left; }.scene-progress.is-running i { animation: scene-progress var(--scene-duration, 5200ms) linear forwards; }

.visual-appliance { position: relative; width: clamp(190px, 33vw, 285px); aspect-ratio: .86; border: 7px solid rgba(255,255,255,.94); border-radius: 31px; background: linear-gradient(145deg, #fff, #d9e8e3); box-shadow: 0 23px 0 rgba(0,0,0,.16), 0 38px 60px rgba(0,0,0,.22); }
.visual-panel { position: absolute; top: 8%; right: 8%; left: 8%; height: 8%; border-radius: 99px; background: linear-gradient(90deg, var(--teal) 0 65%, var(--yellow) 65% 82%, var(--orange) 82%); }
.visual-led { position: absolute; top: 10%; right: 11%; z-index: 2; width: 9px; height: 9px; border: 2px solid white; border-radius: 50%; background: var(--orange); }
.visual-window { position: absolute; top: 25%; left: 50%; width: 65%; aspect-ratio: 1; overflow: hidden; border: 8px solid var(--teal-deep); border-radius: 50%; background: rgba(204,232,193,.88); translate: -50%; }
.visual-window::after { position: absolute; inset: 10%; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; content: ""; }
.visual-water { position: absolute; right: -5%; bottom: -4%; left: -5%; height: 45%; border-radius: 45% 55% 0 0; background: rgba(72,171,194,.55); transform-origin: bottom; }.visual-water::before { position: absolute; top: -7px; right: 0; left: 0; height: 12px; background: radial-gradient(ellipse at center, rgba(255,255,255,.72) 0 16%, transparent 17%) 0 0 / 25px 12px repeat-x; content: ""; }
.visual-load { position: absolute; top: 30%; left: 24%; width: 52%; height: 32%; border-radius: 56% 44% 60% 40%; background: rgba(240,100,59,.68); rotate: 18deg; }.visual-load::before { position: absolute; top: 28%; left: -19%; width: 70%; height: 72%; border-radius: 50%; background: rgba(241,215,109,.8); content: ""; }
.visual-hose { position: absolute; top: 36%; left: calc(100% + 5px); width: 24%; height: 42%; border-top: 9px solid var(--mint); border-right: 9px solid var(--mint); border-radius: 0 26px 0 0; }
.visual-hose::after { position: absolute; right: -9px; bottom: -12px; width: 9px; height: 25px; border-radius: 99px; background: #48abc2; content: ""; animation: hose-drop 1.5s ease-in infinite; }
.visual-filter { position: absolute; right: 11%; bottom: 8%; width: 45px; height: 22px; border: 4px solid var(--teal-deep); border-radius: 7px; background: repeating-linear-gradient(90deg, var(--mint) 0 4px, transparent 4px 8px); }
.visual-plug { position: absolute; top: 30%; right: calc(100% + 25px); display: grid; width: 70px; height: 70px; place-items: center; border: 2px solid var(--orange); border-radius: 22px; background: rgba(240,100,59,.12); color: white; font-size: .64rem; font-weight: 900; }.visual-plug::after { position: absolute; top: 50%; left: 100%; width: 46px; height: 4px; border-radius: 99px; background: var(--orange); content: ""; }
.visual-code { position: absolute; top: 10%; left: 11%; z-index: 3; color: white; font-size: .55rem; font-weight: 900; letter-spacing: .12em; }
.visual-cue { position: absolute; z-index: 3; display: grid; width: 74px; height: 74px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 22px; background: rgba(255,255,255,.1); color: white; font-size: 1rem; font-weight: 900; box-shadow: 0 12px 30px rgba(0,0,0,.18); backdrop-filter: blur(7px); }.visual-cue.cue-left { top: 13%; left: 9%; }.visual-cue.cue-right { right: 8%; bottom: 12%; }.visual-cue.is-stop { background: var(--orange); }
.visual-path { position: absolute; top: 50%; right: 8%; left: 8%; height: 2px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.42) 0 9px, transparent 9px 16px); }.visual-path::after { position: absolute; top: -6px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 7px rgba(241,215,109,.13); content: ""; animation: path-packet 2.8s ease-in-out infinite; }

.dishwasher-visual { aspect-ratio: .82; border-radius: 22px; }.dishwasher-visual .visual-window { top: 25%; width: 74%; height: 57%; border-width: 5px; border-radius: 8px; background: rgba(204,232,193,.55); }.dishwasher-visual .visual-window::before { position: absolute; top: 20%; right: 8%; left: 8%; height: 4px; background: var(--teal); box-shadow: 0 38px 0 var(--teal), 0 76px 0 var(--teal); content: ""; }.dishwasher-visual .visual-window::after { inset: 0; border: 0; border-radius: 0; background: repeating-linear-gradient(90deg, transparent 0 17px, rgba(13,89,78,.2) 17px 20px); }.dishwasher-visual .visual-water { height: 24%; border-radius: 0; }.visual-spray { position: absolute; bottom: 30%; left: 50%; z-index: 3; width: 62%; height: 5px; border-radius: 99px; background: var(--orange); translate: -50%; animation: spray-arm 2.5s linear infinite; }.visual-spray::before, .visual-spray::after { position: absolute; bottom: 100%; width: 38%; height: 70px; border-left: 3px dotted #48abc2; border-radius: 50%; content: ""; }.visual-spray::before { left: 16%; rotate: -20deg; }.visual-spray::after { right: 8%; rotate: 20deg; }.visual-rack { position: absolute; top: 35%; right: 18%; left: 18%; z-index: 2; height: 30%; background: repeating-linear-gradient(90deg, transparent 0 17px, rgba(13,89,78,.45) 17px 20px); }.visual-dish { position: absolute; top: 37%; left: 28%; z-index: 3; width: 50px; height: 70px; border: 5px solid white; border-radius: 50%; rotate: -12deg; }.visual-dish::after { position: absolute; top: 42%; left: 50%; width: 12px; height: 12px; border-radius: 50%; background: var(--orange); content: ""; translate: -50%; }

.scene-visual[data-action="safe"] .visual-appliance { animation: appliance-powerdown 3.2s ease-in-out infinite; }.scene-visual[data-action="safe"] .visual-led { animation: power-off 3.2s ease-in-out infinite; }.scene-visual[data-action="safe"] .visual-plug { animation: plug-out 3.2s ease-in-out infinite; }
.scene-visual[data-action="load"] .visual-load { animation: load-shift 2.5s ease-in-out infinite; }.scene-visual[data-action="load"] .visual-window { animation: washer-cycle 5s linear infinite; }
.scene-visual[data-action="drain"] .visual-water { animation: water-drain 3s ease-in-out infinite; }.scene-visual[data-action="drain"] .visual-hose::after { animation-duration: .9s; }
.scene-visual[data-action="filter"] .visual-filter { animation: filter-pull 2.6s ease-in-out infinite; }
.scene-visual[data-action="test"] .visual-window { animation: test-spin 3s ease-in-out infinite; }.scene-visual[data-action="test"] .visual-led { animation: live-pulse 1.3s ease-out infinite; }
.scene-visual[data-action="stop"] .visual-appliance { animation: stop-shake 2.2s ease-in-out infinite; }.scene-visual[data-action="stop"] .visual-led { background: var(--orange-deep); animation: safety-flash .75s ease-in-out infinite; }
.scene-visual[data-action="spray"] .visual-spray { animation-duration: 1.3s; }.scene-visual[data-action="spray"] .visual-dish { animation: dish-clean 3s ease-in-out infinite; }
.scene-visual[data-action="search"] .visual-path::after { animation-duration: 2s; }

.deep-notes { margin: 28px 0 70px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.74); }
.deep-notes > summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 25px; cursor: pointer; list-style: none; }.deep-notes > summary::-webkit-details-marker { display: none; }.deep-notes > summary span { color: var(--muted); font-size: .68rem; }.deep-notes > summary b { color: var(--teal); font-size: .68rem; }.deep-notes > summary b::after { display: inline-block; margin-left: 9px; content: "+"; transition: rotate 220ms ease; }.deep-notes[open] > summary b::after { rotate: 45deg; }
.deep-notes > .content-layout, .deep-notes > .article-content { margin: 0; border-top: 1px solid var(--line); padding: clamp(22px, 4vw, 45px); }.deep-notes .content-layout { grid-template-columns: minmax(0,1fr) 210px; }.deep-notes .side-nav { top: 95px; }

@keyframes scene-enter { from { opacity: 0; scale: 1.015; } to { opacity: 1; scale: 1; } }
@keyframes scene-progress { to { transform: scaleX(1); } }
@keyframes hose-drop { 0% { translate: 0 -16px; opacity: 0; } 35% { opacity: 1; } 100% { translate: 0 20px; opacity: 0; } }
@keyframes path-packet { 0%,8% { left: 0; opacity: 0; } 18% { opacity: 1; } 82% { opacity: 1; } 94%,100% { left: calc(100% - 14px); opacity: 0; } }
@keyframes appliance-powerdown { 0%,35%,100% { filter: saturate(1); } 55%,85% { filter: saturate(.3) brightness(.84); } }
@keyframes power-off { 0%,35% { opacity: 1; } 45%,100% { opacity: .13; } }
@keyframes plug-out { 0%,30%,100% { translate: 0 0; } 50%,82% { translate: -32px 0; } }
@keyframes load-shift { 0%,100% { rotate: 18deg; translate: 0 0; } 50% { rotate: -16deg; translate: 12px -6px; } }
@keyframes water-drain { 0%,22% { scale: 1 1; } 78%,100% { scale: 1 .08; } }
@keyframes filter-pull { 0%,28%,100% { translate: 0 0; } 55%,72% { translate: 62px 0; rotate: 8deg; } }
@keyframes test-spin { 0%,15% { rotate: 0; } 75%,100% { rotate: 720deg; } }
@keyframes stop-shake { 0%,75%,100% { translate: 0; } 80% { translate: -5px 0; } 85% { translate: 5px 0; } 90% { translate: -3px 0; } }
@keyframes spray-arm { to { rotate: 360deg; } }
@keyframes dish-clean { 0%,40% { filter: saturate(.5); } 75%,100% { filter: saturate(1.4) drop-shadow(0 0 12px rgba(255,255,255,.6)); } }

@media (max-width: 850px) {
  .motion-scene { grid-template-columns: 1fr; }.scene-visual { min-height: 430px; }.scene-copy { min-height: 230px; }.scene-stage,.motion-scene { min-height: 0; }.deep-notes .content-layout { grid-template-columns: 1fr; }.deep-notes .side-nav { display: none; }
}
@media (max-width: 560px) {
  .scene-player { border-radius: 24px; }.scene-visual { min-height: 350px; }.visual-appliance { width: 180px; }.visual-cue { width: 58px; height: 58px; border-radius: 17px; }.visual-cue.cue-left { top: 8%; left: 5%; }.visual-cue.cue-right { right: 5%; bottom: 8%; }.scene-copy { min-height: 205px; padding: 26px 24px; }.scene-copy h2 { font-size: 2.4rem; }.scene-copy p { margin-top: 13px; }.scene-nav { grid-template-columns: auto auto 1fr auto; padding-inline: 14px; }.scene-dot { width: 18px; }.scene-dot.is-active { width: 32px; }.deep-notes > summary { align-items: flex-start; padding: 18px; }.deep-notes > summary span { display: none; }
}
@media print {
  .scene-nav, .scene-progress { display: none !important; }.experience-ready .motion-scene:not(.is-active) { display: grid !important; }.scene-player { color: black; background: white; box-shadow: none; }.scene-copy { background: white; }.scene-copy h2 { color: black; }.scene-copy p { color: #444; }
}

/* Route-specific motion worlds */
.diagnose-flow { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0 32px; border: 1px solid var(--line); border-radius: 25px; background: rgba(255,255,255,.72); padding: 24px; }
.diagnose-flow > div:not(.flow-rail) { position: relative; z-index: 2; display: grid; min-height: 120px; place-items: center; align-content: center; gap: 9px; border-radius: 18px; background: var(--paper); color: var(--teal-deep); text-align: center; }.diagnose-flow > div.is-stop { background: rgba(240,100,59,.1); color: var(--orange-deep); }.diagnose-flow > div span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; background: var(--mint); font-size: .72rem; font-weight: 900; }.diagnose-flow > div.is-stop span { background: var(--orange); color: white; }.diagnose-flow > div strong { font-size: .7rem; }
.flow-rail { position: absolute; top: 50%; right: 10%; left: 10%; z-index: 1; height: 3px; background: repeating-linear-gradient(90deg, var(--teal) 0 9px, transparent 9px 15px); }.flow-rail i { position: absolute; top: -6px; left: 0; width: 15px; height: 15px; border: 4px solid white; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--orange-deep); animation: route-travel 5s ease-in-out infinite; }
.library-grid-visual .library-card { min-height: 390px; }.library-grid-visual .symptom-motion { width: 100%; }.library-grid-visual .library-card h2 { margin-top: 5px; }.library-grid-visual .library-card > a { margin-top: auto; }

.recall-label { position: relative; display: grid; width: min(55%, 340px); min-height: 260px; align-content: center; gap: 22px; overflow: hidden; border: 7px solid white; border-radius: 22px; background: #f8f3df; box-shadow: 0 25px 0 rgba(0,0,0,.16); padding: 35px; color: var(--teal-deep); rotate: -3deg; }.recall-label span { font-size: .6rem; font-weight: 900; letter-spacing: .16em; }.recall-label i { height: 8px; border-radius: 99px; background: rgba(7,61,54,.18); }.recall-label i:nth-of-type(2) { width: 62%; }.recall-label i:nth-of-type(3) { width: 78%; }.recall-label b { border: 2px solid var(--teal-deep); border-radius: 8px; padding: 12px; font-size: 1.15rem; letter-spacing: .12em; text-align: center; }
.recall-scanner { position: absolute; z-index: 3; top: 22%; left: 50%; width: min(62%, 390px); height: 3px; background: linear-gradient(90deg, transparent, var(--orange), transparent); box-shadow: 0 0 20px var(--orange); translate: -50%; animation: recall-scan 3s ease-in-out infinite; }
.recall-radar { position: relative; display: grid; width: min(65%, 350px); aspect-ratio: 1; place-items: center; border: 3px solid var(--mint); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 17%, rgba(255,255,255,.08) 17.5% 18%); }.recall-radar::before { position: absolute; inset: 50% 0 0 50%; background: conic-gradient(from 270deg, rgba(241,215,109,.45), transparent 35%); border-radius: 100% 0 0; content: ""; transform-origin: 0 0; animation: radar-sweep 3s linear infinite; }.recall-radar i { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 8px rgba(240,100,59,.12); animation: radar-hit 2.2s ease-in-out infinite; }.recall-radar i:nth-child(1) { top: 24%; left: 38%; }.recall-radar i:nth-child(2) { right: 22%; bottom: 33%; animation-delay: -.7s; }.recall-radar i:nth-child(3) { bottom: 20%; left: 27%; animation-delay: -1.4s; }.recall-radar b { z-index: 2; display: grid; width: 80px; height: 80px; place-items: center; border-radius: 50%; background: var(--teal-deep); color: white; font-size: .8rem; letter-spacing: .12em; }.search-packet { position: absolute; bottom: 11%; left: 9%; border: 1px solid var(--yellow); border-radius: 12px; background: rgba(241,215,109,.12); padding: 10px 13px; color: white; font-size: .62rem; font-weight: 900; letter-spacing: .08em; animation: search-packet 3.4s ease-in-out infinite; }
.match-cards { display: flex; align-items: center; gap: clamp(14px,3vw,35px); }.match-cards > span { display: grid; min-width: 155px; min-height: 130px; place-items: center; border: 2px solid rgba(255,255,255,.6); border-radius: 22px; background: rgba(255,255,255,.1); color: var(--yellow); font-size: .57rem; font-weight: 900; letter-spacing: .12em; }.match-cards span i { color: white; font-style: normal; font-size: .82rem; letter-spacing: .06em; }.match-cards > b { color: white; font-size: 2rem; }.match-ring { position: absolute; display: grid; width: 95px; height: 95px; place-items: center; border: 5px solid white; border-radius: 50%; background: #42a968; color: white; font-size: 2.2rem; box-shadow: 0 0 0 14px rgba(66,169,104,.15); animation: match-confirm 3s ease-in-out infinite; }
.remedy-route { display: flex; width: 80%; align-items: center; justify-content: center; gap: 15px; }.remedy-route span { display: grid; min-width: 125px; min-height: 100px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 18px; background: rgba(255,255,255,.1); padding: 12px; color: white; font-size: .58rem; font-weight: 900; text-align: center; letter-spacing: .08em; }.remedy-route span:first-child { background: var(--orange); }.remedy-route i { flex: 1; height: 3px; background: repeating-linear-gradient(90deg, var(--yellow) 0 8px, transparent 8px 14px); animation: conveyor-line 1.3s linear infinite; }

.score-factory { position: relative; display: grid; width: min(82%, 590px); grid-template-columns: 130px minmax(110px,1fr) 220px; align-items: center; gap: 22px; }.factory-token { display: grid; width: 130px; height: 130px; place-items: center; border: 2px solid var(--yellow); border-radius: 30px; background: rgba(241,215,109,.12); color: white; font-size: 2.8rem; font-weight: 900; box-shadow: 0 18px 30px rgba(0,0,0,.18); animation: factory-token 3.1s ease-in-out infinite; }.factory-token small { font-size: .52rem; text-transform: uppercase; letter-spacing: .12em; }.factory-token.is-safety { border-color: var(--orange); background: rgba(240,100,59,.2); }.factory-track { position: relative; height: 5px; border-radius: 99px; background: rgba(255,255,255,.24); }.factory-track i { position: absolute; top: -7px; left: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 7px rgba(241,215,109,.12); animation: factory-packet 3.1s ease-in-out infinite; }.factory-track span { position: absolute; top: -18px; right: -8px; width: 8px; height: 41px; border-radius: 99px; background: var(--orange); }.factory-gauge { position: relative; width: 220px; height: 150px; overflow: hidden; border-radius: 220px 220px 24px 24px; background: conic-gradient(from 270deg at 50% 100%, #83c7a4 0 32deg, var(--yellow) 32deg 56deg, var(--orange) 56deg 90deg, transparent 90deg); }.factory-gauge::after { position: absolute; right: 25px; bottom: 0; left: 25px; height: 112px; border-radius: 180px 180px 0 0; background: var(--teal-deep); content: ""; }.factory-gauge span { position: absolute; z-index: 2; bottom: 14px; color: rgba(255,255,255,.6); font-size: .52rem; }.factory-gauge span:first-child { left: 14%; }.factory-gauge span:nth-child(2) { right: 10%; }.factory-gauge > i { position: absolute; z-index: 3; bottom: 0; left: 50%; width: 5px; height: 85px; border-radius: 99px; background: white; transform-origin: 50% 100%; rotate: -40deg; animation: factory-needle 3.1s ease-in-out infinite; }.factory-gauge > b { position: absolute; z-index: 4; top: 68%; left: 50%; border-radius: 999px; background: var(--orange); padding: 7px 10px; color: white; font-size: .58rem; translate: -50%; }
.method-visual[data-method-motion="warranty"] .factory-token { border-color: var(--mint); background: rgba(204,232,193,.12); }.method-visual[data-method-motion="warranty"] .factory-track i { background: var(--mint); animation-direction: reverse; }.method-visual[data-method-motion="warranty"] .factory-gauge > i { animation-name: factory-needle-back; }.method-visual[data-method-motion="safety"] .factory-track span { width: 28px; height: 55px; top: -25px; background: repeating-linear-gradient(135deg, var(--orange) 0 6px, var(--orange-deep) 6px 12px); }.method-visual[data-method-motion="safety"] .factory-gauge { filter: grayscale(.7); }.method-visual[data-method-motion="safety"] .factory-gauge > i { animation-name: needle-cut; }

.privacy-browser { position: absolute; left: 8%; display: grid; width: 220px; min-height: 270px; align-content: center; gap: 15px; border: 6px solid white; border-radius: 25px; background: rgba(255,255,255,.12); padding: 42px 22px 22px; }.privacy-browser::before { position: absolute; top: 0; right: 0; left: 0; height: 30px; border-bottom: 1px solid rgba(255,255,255,.25); content: ""; }.privacy-browser > i { position: absolute; top: 11px; left: 14px; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 14px 0 var(--yellow), 28px 0 var(--mint); }.privacy-browser span { display: grid; min-height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; background: rgba(255,255,255,.08); color: white; font-size: .6rem; font-weight: 850; }
.privacy-wall { position: absolute; top: 10%; bottom: 10%; left: 55%; display: grid; width: 74px; place-items: center; border-radius: 22px; background: repeating-linear-gradient(135deg, var(--orange) 0 10px, var(--orange-deep) 10px 20px); box-shadow: 0 20px 40px rgba(0,0,0,.24); }.privacy-wall b { rotate: -90deg; color: white; font-size: .55rem; letter-spacing: .2em; }.privacy-cloud { position: absolute; right: 6%; display: grid; width: 155px; height: 105px; place-items: center; border: 2px solid var(--mint); border-radius: 55px; background: rgba(204,232,193,.12); color: white; font-size: .58rem; font-weight: 900; letter-spacing: .12em; }.privacy-cloud::before,.privacy-cloud::after { position: absolute; border: 2px solid var(--mint); border-bottom: 0; border-radius: 50% 50% 0 0; background: #0c5d51; content: ""; }.privacy-cloud::before { top: -34px; left: 25px; width: 65px; height: 50px; }.privacy-cloud::after { top: -23px; right: 20px; width: 48px; height: 38px; }
.privacy-packet { position: absolute; left: calc(8% + 210px); width: 15px; height: 15px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 7px rgba(241,215,109,.12); }.packet-a { top: 35%; }.packet-b { top: 52%; animation-delay: -1.1s !important; }.packet-c { top: 68%; animation-delay: -2.2s !important; }.privacy-machine[data-privacy-motion="exact"] .privacy-packet { animation: exact-block 3.3s ease-in-out infinite; }.privacy-machine[data-privacy-motion="aggregate"] .privacy-packet { background: var(--mint); animation: aggregate-pass 3.3s ease-in-out infinite; }
.session-loop { position: absolute; right: 12%; display: grid; width: 270px; aspect-ratio: 1; place-items: center; border: 3px dashed var(--mint); border-radius: 50%; animation: orbit-turn 15s linear infinite; }.session-loop::after { position: absolute; top: -10px; left: 50%; width: 20px; height: 20px; border: 4px solid white; border-radius: 50%; background: var(--orange); content: ""; translate: -50%; }.session-loop i { position: absolute; inset: 35px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }.session-loop b { animation: orbit-turn-reverse 15s linear infinite; color: white; font-size: .65rem; letter-spacing: .12em; }

.lost-route { position: relative; display: flex; max-width: 650px; min-height: 220px; align-items: center; justify-content: center; gap: 15px; margin: 0 auto 32px; border: 1px solid var(--line); border-radius: 32px; background: radial-gradient(circle, white, rgba(204,232,193,.35)); }.lost-route span,.lost-route b { display: grid; width: 86px; height: 86px; place-items: center; border-radius: 24px; font-size: .62rem; font-weight: 900; }.lost-route span { border: 1px solid var(--teal); background: white; color: var(--teal-deep); }.lost-route b { background: var(--orange); color: white; font-size: 1.4rem; animation: lost-node 3s ease-in-out infinite; }.lost-route i { width: 90px; height: 3px; background: repeating-linear-gradient(90deg, var(--teal) 0 9px, transparent 9px 15px); }.lost-route i:last-of-type { background: repeating-linear-gradient(90deg, var(--orange) 0 9px, transparent 9px 15px); clip-path: polygon(0 0,45% 0,45% 100%,0 100%); }.lost-route em { position: absolute; top: 36%; right: 19%; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--orange-deep); color: white; font-style: normal; font-weight: 900; animation: lost-x 2s ease-in-out infinite; }.not-found h1 { font-size: clamp(3rem,8vw,7rem); }.not-found > .shell > p { font-size: 1rem; }

@keyframes route-travel { 0%,5% { left: 0; } 85%,100% { left: calc(100% - 15px); } }
@keyframes recall-scan { 0%,10% { top: 22%; opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 90%,100% { top: 76%; opacity: 0; } }
@keyframes radar-sweep { to { rotate: 360deg; } }
@keyframes radar-hit { 0%,100% { opacity: .25; scale: .7; } 50% { opacity: 1; scale: 1.2; } }
@keyframes search-packet { 0%,10% { translate: 0 0; opacity: 0; } 30% { opacity: 1; } 70%,100% { translate: 210px -110px; opacity: 0; } }
@keyframes match-confirm { 0%,25% { opacity: 0; scale: .45; } 48%,88% { opacity: 1; scale: 1; } 100% { opacity: 0; scale: 1.2; } }
@keyframes factory-token { 0%,18%,100% { translate: 0 0; } 48%,74% { translate: 24px 0; } }
@keyframes factory-packet { 0%,20% { left: 0; opacity: 0; } 32% { opacity: 1; } 75%,100% { left: calc(100% - 18px); opacity: 0; } }
@keyframes factory-needle { 0%,28%,100% { rotate: -40deg; } 65%,82% { rotate: 25deg; } }
@keyframes factory-needle-back { 0%,28%,100% { rotate: 18deg; } 65%,82% { rotate: -12deg; } }
@keyframes needle-cut { 0%,35% { opacity: 1; rotate: 12deg; } 50%,100% { opacity: .15; rotate: -40deg; } }
@keyframes exact-block { 0%,5% { translate: 0; opacity: 0; } 20% { opacity: 1; } 52% { translate: 68px 0; } 62% { translate: 54px 0; } 100% { translate: 0; opacity: 0; } }
@keyframes aggregate-pass { 0%,5% { translate: 0; opacity: 0; } 20% { opacity: 1; } 78% { opacity: 1; } 100% { translate: calc(38vw - 40px) 0; opacity: 0; } }
@keyframes lost-node { 0%,100% { rotate: -3deg; translate: 0 0; } 50% { rotate: 3deg; translate: 0 -8px; } }
@keyframes lost-x { 0%,100% { scale: .9; } 50% { scale: 1.12; box-shadow: 0 0 0 10px rgba(185,60,29,.12); } }

@media (max-width: 850px) {
  .score-factory { grid-template-columns: 100px 1fr 175px; width: 90%; }.factory-token { width: 100px; height: 100px; font-size: 2rem; }.factory-gauge { width: 175px; height: 130px; }.privacy-browser { left: 5%; width: 180px; }.privacy-wall { left: 52%; }.privacy-cloud { right: 3%; width: 125px; }.session-loop { right: 6%; width: 220px; }
}
@media (max-width: 650px) {
  .diagnose-flow { grid-template-columns: repeat(4,1fr); gap: 5px; padding: 10px; }.diagnose-flow > div:not(.flow-rail) { min-height: 90px; }.diagnose-flow > div span { width: 34px; height: 34px; }.diagnose-flow > div strong { font-size: .55rem; }.library-grid-visual .library-card { min-height: 360px; }
  .recall-label { width: 66%; min-height: 220px; padding: 25px; }.match-cards { gap: 8px; }.match-cards > span { min-width: 108px; min-height: 105px; }.remedy-route { width: 91%; gap: 7px; }.remedy-route span { min-width: 78px; min-height: 80px; font-size: .46rem; }.score-factory { grid-template-columns: 76px 1fr 140px; width: 94%; gap: 9px; }.factory-token { width: 76px; height: 76px; border-radius: 20px; font-size: 1.5rem; }.factory-gauge { width: 140px; height: 110px; }.factory-gauge::after { right: 18px; left: 18px; height: 85px; }.factory-gauge > i { height: 65px; }.factory-gauge > b { font-size: .48rem; }.privacy-browser { left: 4%; width: 135px; min-height: 235px; padding-inline: 12px; }.privacy-wall { left: 53%; width: 55px; }.privacy-cloud { right: 2%; width: 91px; height: 75px; font-size: .45rem; }.privacy-cloud::before { left: 13px; width: 45px; }.privacy-cloud::after { right: 10px; width: 35px; }.session-loop { right: 3%; width: 160px; }.lost-route { min-height: 180px; gap: 7px; }.lost-route span,.lost-route b { width: 66px; height: 66px; border-radius: 18px; }.lost-route i { width: 43px; }.lost-route em { right: 12%; }
}
