  /* UB-856 #11: "all products" link from the home products section to /products */
  .products-all-link { margin-top: 1.25rem; text-align: center; }
  /* How It Works Section */
  .how-it-works {
    background: linear-gradient(180deg, #0d1f3c 0%, #0a192f 100%);
    padding: 6rem 0;
    border-top: 1px solid rgba(255,255,255,0.1);
  }
  .how-it-works .section-title {
    color: #fff;
    text-align: center;
    font-size: var(--fs-h3);
    margin-bottom: 3rem;
  }
  .steps-row {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 1rem;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 1rem;
  }
  .step-item {
    flex: 1;
    max-width: 280px;
    text-align: center;
    padding: 1.5rem;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  .step-number {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #d4af55, #c4a04a);
    color: #0a192f;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-h4);
    font-weight: 700;
    margin: 0 auto 1rem;
  }
  .step-item h3 {
    color: #fff;
    font-size: var(--fs-base);
    margin-bottom: 0.75rem;
  }
  .step-item p {
    color: rgba(255,255,255,0.7);
    font-size: var(--fs-sm);
    line-height: 1.6;
    margin: 0;
  }
  .step-arrow {
    color: rgba(255,255,255,0.3);
    font-size: 1.5rem;
    padding-top: 2rem;
  }
  [dir="rtl"] .step-arrow {
    transform: scaleX(-1);
  }
  @media (max-width: 900px) {
    .steps-row {
      flex-direction: column;
      align-items: center;
    }
    .step-arrow {
      transform: rotate(90deg);
      padding: 0;
    }
    .step-item {
      max-width: 100%;
    }
  }

  /* ORCA About Section */
  .orca-about-section {
    background: linear-gradient(180deg, #0a192f 0%, #0d1f3c 100%);
    padding: 6rem 0;
    border-top: 1px solid rgba(212, 175, 85, 0.15);
    border-bottom: 1px solid rgba(212, 175, 85, 0.15);
  }
  .orca-about-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }
  .orca-about-overline {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-2xs);
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #d4af55;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 0.75rem;
  }
  .orca-about-title {
    font-size: var(--fs-h2);
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-bottom: 2rem;
    line-height: 1.3;
  }
  .orca-about-prose {
    font-size: var(--fs-base);
    color: rgba(255,255,255,0.75);
    line-height: 1.85;
    margin-bottom: 1.25rem;
  }
  .orca-about-prose strong { color: #fff; }
  .orca-about-pull {
    border-right: 3px solid #d4af55;
    padding: 0 1.5rem;
    margin: 2rem 0;
  }
  [dir="ltr"] .orca-about-pull {
    border-right: none;
    border-left: 3px solid #d4af55;
  }
  .orca-about-pull p {
    font-size: var(--fs-md);
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    line-height: 1.65;
    margin: 0;
  }
  .orca-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin: 2rem 0;
  }
  .orca-about-card {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    padding: 1.25rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  .orca-about-card h3 {
    color: #d4af55;
    font-size: var(--fs-sm);
    margin-bottom: 0.5rem;
  }
  .orca-about-card p {
    color: rgba(255,255,255,0.65);
    font-size: var(--fs-sm);
    line-height: 1.6;
    margin: 0;
  }
  .orca-about-link {
    text-align: center;
    margin-top: 2rem;
  }
  .orca-about-link a {
    color: rgba(255,255,255,0.5);
    font-size: var(--fs-sm);
    text-decoration: none;
    transition: color 0.2s;
  }
  .orca-about-link a:hover { color: #d4af55; }
  @media (max-width: 1024px) {
    .orca-about-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 768px) {
    .orca-about-title { font-size: var(--fs-h3); }
    .orca-about-grid { grid-template-columns: 1fr; }
  }

  /* ICP Section - light background alternation */
  .icp-section {
    padding: 6rem 0;
    background: var(--cream, #FAF9F7);
  }
  .icp-section .section-title {
    color: var(--navy-deep, #0a192f);
  }
  .icp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }
  .icp-card {
    background: #fff;
    border: 1px solid rgba(10,25,47,0.1);
    border-radius: 10px;
    padding: 1.5rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  .icp-card h3 {
    color: #0a192f;
    font-size: var(--fs-base);
    margin-bottom: 0.75rem;
  }
  .icp-card p {
    color: #475569;
    font-size: var(--fs-sm);
    line-height: 1.7;
    margin: 0;
  }
  @media (max-width: 960px) {
    .icp-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 768px) {
    .icp-grid { grid-template-columns: 1fr; }
  }

  /* Stats / Proof shared */
  .stat-detail {
    font-size: var(--fs-2xs);
    color: rgba(255,255,255,0.5);
    margin-top: 0.3rem;
  }

  /* Shared overline style (proof, whynot, founder, pricing) */
  .section-overline {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-2xs);
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #d4af55;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 0.75rem;
  }

  /* Proof Section */
  .proof-section {
    background: linear-gradient(180deg, #0d1f3c 0%, #0a192f 100%);
    padding: 6rem 0;
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  .proof-section .section-title {
    color: #fff;
    text-align: center;
    font-size: var(--fs-h2);
    margin-bottom: 2.5rem;
  }
  .proof-overline { /* uses .section-overline via markup */ }
  .proof-quote-box {
    max-width: 720px;
    margin: 2.5rem auto 0;
    padding: 1.75rem 2rem;
    background: rgba(16, 185, 129, 0.06);
    border-radius: 12px;
    border-right: 3px solid rgba(16, 185, 129, 0.5);
  }
  [dir="ltr"] .proof-quote-box {
    border-right: none;
    border-left: 3px solid rgba(16, 185, 129, 0.5);
  }
  .proof-quote-box p {
    color: rgba(255,255,255,0.8);
    font-size: var(--fs-sm);
    line-height: 1.75;
    margin: 0 0 0.75rem;
  }
  .proof-quote-box p:last-child { margin-bottom: 0; }
  .proof-quote-box .proof-followup {
    color: rgba(255,255,255,0.55);
    font-size: var(--fs-sm);
    font-style: italic;
  }

  /* Why Not Generic AI Section */
  .whynot-section {
    background: #FAF9F7;
    padding: 6rem 0;
    border-top: 1px solid rgba(0,0,0,0.06);
  }
  .whynot-section .section-title {
    color: #0a192f;
    text-align: center;
  }
  .whynot-overline { /* uses .section-overline via markup */ }
  .whynot-intro {
    max-width: 720px;
    margin: 0 auto 2.5rem;
    text-align: center;
    color: #475569;
    font-size: var(--fs-base);
    line-height: 1.75;
  }
  .whynot-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 750px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }
  .whynot-card {
    background: #fff;
    border: 1px solid rgba(10,25,47,0.1);
    border-radius: 12px;
    padding: 1.75rem 2rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    position: relative;
  }
  .whynot-card-num {
    position: absolute;
    top: 1.5rem;
    inset-inline-end: 1.5rem;
    width: 32px;
    height: 32px;
    background: rgba(212, 175, 85, 0.12);
    color: #d4af55;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-sm);
    font-weight: 700;
  }
  .whynot-card h3 {
    color: #0a192f;
    font-size: var(--fs-base);
    margin-bottom: 0.75rem;
    padding-inline-end: 3rem;
  }
  .whynot-card p {
    color: #475569;
    font-size: var(--fs-sm);
    line-height: 1.75;
    margin: 0;
  }
  .whynot-card p strong { color: #0a192f; }
  .whynot-pull {
    max-width: 700px;
    margin: 2.5rem auto;
    padding: 0 1.5rem;
    border-right: 3px solid #d4af55;
  }
  [dir="ltr"] .whynot-pull {
    border-right: none;
    border-left: 3px solid #d4af55;
  }
  .whynot-pull p {
    color: #0a192f;
    font-size: var(--fs-md);
    font-weight: 600;
    line-height: 1.65;
    margin: 0;
  }
  .whynot-link {
    text-align: center;
    margin-top: 1rem;
  }
  .whynot-link a {
    color: #d4af55;
    font-size: var(--fs-sm);
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s;
  }
  .whynot-link a:hover { opacity: 0.75; }
  @media (max-width: 768px) {
    .whynot-card { padding: 1.25rem 1.5rem; }
  }

  /* Founder Section */
  .founder-section {
    background: linear-gradient(180deg, #0a192f 0%, #0d1f3c 100%);
    padding: 6rem 0;
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  .founder-section .section-container {
    max-width: 700px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
  }
  .founder-overline { /* uses .section-overline via markup */ }
  .founder-title {
    color: #fff;
    font-size: var(--fs-h3);
    font-weight: 700;
    margin-bottom: 1rem;
  }
  .founder-desc {
    color: rgba(255,255,255,0.7);
    font-size: var(--fs-base);
    line-height: 1.75;
    margin-bottom: 2rem;
  }
  .founder-pull {
    border: 1px solid rgba(212, 175, 85, 0.35);
    border-radius: 12px;
    padding: 1.5rem 2rem;
    margin: 0 auto 2rem;
    background: rgba(212, 175, 85, 0.05);
  }
  .founder-pull p {
    color: rgba(255,255,255,0.85);
    font-size: var(--fs-base);
    font-weight: 500;
    line-height: 1.65;
    margin: 0;
    font-style: italic;
  }
  .founder-closing {
    color: rgba(255,255,255,0.6);
    font-size: var(--fs-sm);
    line-height: 1.7;
    margin-bottom: 1.5rem;
  }
  .founder-link a {
    color: rgba(255,255,255,0.5);
    font-size: var(--fs-sm);
    text-decoration: none;
    transition: color 0.2s;
  }
  .founder-link a:hover { color: #d4af55; }

  /* Pricing Context Section */
  .pricing-context-section {
    background: var(--navy-deep, #0a192f);
    padding: 6rem 0;
    border-top: 1px solid rgba(212,175,85,0.2);
  }
  .pricing-context-section .section-title {
    color: var(--text-primary, #fff);
    text-align: center;
  }
  .pricing-context-overline { /* uses .section-overline via markup */ }
  .pricing-compare {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    max-width: 750px;
    margin: 2.5rem auto 2rem;
    padding: 0 1.5rem;
  }
  .pricing-compare-card {
    flex: 1;
    max-width: 280px;
    border-radius: 14px;
    padding: 2rem 1.75rem;
    text-align: center;
  }
  .pricing-compare-card.manual {
    background: var(--paper, #f4efe4);
    color: var(--ink, #1c2431);
    border: 1px solid var(--paper-rule, #cfc5ad);
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  .pricing-compare-card.orca {
    background: var(--navy-light, #162544);
    border: 1px solid rgba(212, 175, 85, 0.3);
    box-shadow: 0 4px 20px rgba(0,0,0,0.35);
  }
  .pricing-compare-label {
    font-size: var(--fs-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
  }
  .pricing-compare-card.manual .pricing-compare-label { color: var(--ink, #1c2431); opacity: 0.78; }
  .pricing-compare-card.orca .pricing-compare-label { color: #d4af55; }
  .pricing-compare-time {
    font-size: var(--fs-h2);
    font-weight: 700;
    margin-bottom: 0.5rem;
  }
  .pricing-compare-card.manual .pricing-compare-time { color: var(--ink, #1c2431); }
  .pricing-compare-card.orca .pricing-compare-time { color: #fff; }
  .pricing-compare-cost {
    font-size: var(--fs-sm);
    line-height: 1.5;
  }
  .pricing-compare-card.manual .pricing-compare-cost { color: var(--ink, #1c2431); opacity: 0.7; }
  .pricing-compare-card.orca .pricing-compare-cost { color: rgba(255,255,255,0.7); }
  .pricing-compare-vs {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-base);
    font-weight: 600;
    color: #94A3B8;
    flex-shrink: 0;
  }
  .pricing-context-cta {
    display: block;
    max-width: 280px;
    margin: 0 auto;
    text-align: center;
    background: linear-gradient(135deg, #d4af55 0%, #e8c96d 100%);
    color: #0a192f;
    font-weight: 700;
    font-size: var(--fs-base);
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(212, 175, 85, 0.3);
    transition: transform 0.15s ease, box-shadow 0.2s ease;
  }
  .pricing-context-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(212, 175, 85, 0.45);
  }
  @media (max-width: 640px) {
    .pricing-compare {
      flex-direction: column;
    }
    .pricing-compare-card { max-width: 100%; }
    .pricing-compare-vs {
      /* no rotation - horizontal "vs" between stacked cards */
    }
  }

  /* Closing CTA Section */
  .closing-cta-section {
    padding: 6rem 1.5rem;
    background: linear-gradient(180deg, #0a192f 0%, #0d1f3c 100%);
  }

  /* FAQ Section - light background alternation */
  .concerns-section {
    background: var(--navy-deep, #0a192f);
    padding: 6rem 0;
    border-top: 1px solid rgba(212,175,85,0.2);
  }
  .concerns-section .section-title {
    color: var(--text-primary, #fff);
  }
  .faq-container {
    max-width: 620px;
    margin: 0 auto;
    padding: 0 1.5rem;
  }
  .faq-list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .concerns-section details.faq-item {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 0;
    padding: 1rem 0;
  }
  .concerns-section details.faq-item:last-child {
    border-bottom: none !important;
  }
  .concerns-section .faq-item summary {
    color: #fff;
    font-size: var(--fs-base);
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .concerns-section .faq-item summary::-webkit-details-marker { display: none; }
  .concerns-section .faq-item summary::after {
    content: '+';
    font-size: 1.25rem;
    color: #94A3B8;
    transition: transform 0.2s ease;
    flex-shrink: 0;
    margin-inline-start: 1rem;
  }
  .concerns-section details.faq-item[open] summary::after {
    content: '−';
  }
  .concerns-section .faq-item p {
    color: rgba(255,255,255,0.7) !important;
    font-size: var(--fs-sm);
    line-height: 1.7;
    margin: 0.75rem 0 0;
  }

  /* Language switcher in navbar */
  .navbar-lang {
    border: 1px solid rgba(255,255,255,0.3);
    padding: 0.25rem 0.75rem !important;
    border-radius: 4px;
    font-size: var(--fs-sm);
  }

  /* Homepage hero entrance animations */
  @keyframes heroEnter {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .hero h1 {
    font-family: var(--font-display, 'Frank Ruhl Libre', 'David', Georgia, serif);
    letter-spacing: 0;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
    opacity: 0;
    animation: heroEnter 0.45s ease 0s forwards;
    /* Balanced line-breaking so a 2-3 line H1 doesn't leave a lone word / widow
       on the last line (Chromium/Firefox/Safari support text-wrap: balance;
       harmless no-op where unsupported). */
    text-wrap: balance;
  }
  @media (max-width: 480px) {
    /* The base ladder (shared-v2-merged.css) already steps h1 down once at
       max-width:640px (--fs-h2 !important). English H1 copy is longer than
       the Hebrew H1 at the same font size and still wraps to 4 lines at
       390px; Hebrew stays readable at 3 lines, so this override is LTR-only.
       Needs !important to beat the ladder's own !important. */
    [dir="ltr"] .hero h1 {
      font-size: var(--fs-h3) !important;
    }
  }
  .hero .tagline {
    font-size: clamp(1rem, 2.5vw, 1.35rem);
    color: rgba(255,255,255,0.85);
    max-width: 520px;
    margin: 0 auto 2rem;
    opacity: 0;
    animation: heroEnter 0.4s ease 0.1s forwards;
  }
  .hero-main-cta {
    display: inline-block;
    background: linear-gradient(135deg, #d4af55 0%, #e8c96d 100%);
    color: #0a192f;
    font-weight: 700;
    font-size: var(--fs-md);
    text-decoration: none;
    padding: 1rem 2.5rem;
    border-radius: 10px;
    margin-top: 1.5rem;
    box-shadow: 0 4px 20px rgba(212, 175, 85, 0.3);
    opacity: 0;
    animation: heroEnter 0.4s ease 0.15s forwards;
    transition: transform 0.15s ease, box-shadow 0.2s ease;
  }
  .hero-main-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(212, 175, 85, 0.45);
  }
  .hero-scroll-cta {
    display: inline-block;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    font-size: var(--fs-sm);
    letter-spacing: 0.1em;
    margin-top: 2rem;
    opacity: 0;
    animation: heroEnter 0.4s ease 0.2s forwards;
    transition: color 0.2s ease;
  }
  .hero-scroll-cta:hover {
    color: #d4af55;
  }
  @media (prefers-reduced-motion: reduce) {
    .hero h1, .hero .tagline, .hero-main-cta, .hero-scroll-cta, .hero-doc {
      animation: none;
      opacity: 1;
      transform: none;
    }
  }

  /* ===== B1: hero two-material layout (navy firm / paper document) ===== */
  .hero { position: relative; overflow: hidden; }
  .hero-bg-arc {
    position: absolute; top: 50%; inset-inline-end: -8%; width: 640px; height: 640px;
    transform: translateY(-50%); opacity: 0.06; pointer-events: none; z-index: 0;
  }
  .hero-grid { position: relative; z-index: 1; }
  .hero-doc { margin: 2rem auto 0; max-width: 420px; position: relative; }
  .hero-doc-sheet {
    background: var(--paper, #f4efe4);
    color: var(--ink, #1c2431);
    border-top: 2px solid var(--paper-rule, #cfc5ad);
    box-shadow: 0 24px 60px rgba(0,0,0,.45);
    padding: 1.75rem 1.6rem 1.4rem;
    font-family: var(--font-display, 'Frank Ruhl Libre', 'David', Georgia, serif);
    letter-spacing: 0;
    opacity: 0;
    animation: heroEnter 0.5s ease 0.5s forwards;
  }
  .hero-doc-title { text-align: center; font-size: 1.35rem; font-weight: 700; margin: 0 0 0.35rem; }
  .hero-doc-essence { text-align: center; font-size: 0.85rem; margin: 0 0 0.9rem; padding-bottom: 0.7rem; border-bottom: 1px solid var(--paper-rule, #cfc5ad); }
  .hero-doc-essence-l { font-weight: 700; }
  .hero-doc-h { font-weight: 700; text-decoration: underline; margin: 0.75rem 0 0.35rem; font-size: 0.95rem; }
  /* Sheet paragraph numbering (1., 2.) via a CSS counter -- the pleading's own
     paragraphs, distinct from the intro-demo's "2." prefix baked into the
     introDocP2 string. The counter lives on the sheet so the number always
     matches paragraph order regardless of which locale string is shown.
     ::before content sits inline before the paragraph text, so in a
     justified paragraph it lands at the paragraph's inline-start -- the
     right edge in RTL, the left edge in LTR -- with no positioning needed. */
  .hero-doc-sheet { counter-reset: hero-doc-para; }
  .hero-doc-p { margin: 0; font-size: 0.88rem; line-height: 1.65; text-align: justify; }
  .hero-doc-p::before {
    counter-increment: hero-doc-para;
    content: counter(hero-doc-para) ". ";
    font-weight: 700;
  }
  .hero-doc-row { display: grid; grid-template-columns: 1fr 132px; gap: 0.5rem 0.9rem; align-items: start; }
  .hero-doc-row-h { align-items: baseline; }
  .hero-doc-row-h .hero-doc-h { margin: 0.75rem 0 0.35rem; }
  .hero-doc-note {
    /* Gold-on-paper (#d4af55 on #f4efe4) contrasts at ~1.8:1 -- fails WCAG AA. A
       darkened on-paper gold (~5.4:1) keeps the note legible without leaving the
       gold family; the CTA/overline gold token elsewhere stays unchanged. */
    font-family: 'Heebo', sans-serif; font-weight: 500; font-size: 13.5px; line-height: 1.4;
    color: #7a5d16; margin: 0.2rem 0 0; position: relative; padding-inline-start: 0.9rem;
  }
  .hero-doc-note::before {
    content: ''; position: absolute; inset-inline-start: 0; top: 0.5em;
    width: 0.7rem; height: 1px; background: #7a5d16;
  }
  @media (max-width: 1023px) {
    .hero-doc { max-height: 320px; overflow: hidden; }
    .hero-doc::after {
      content: ''; position: absolute; inset-inline-start: 0; inset-inline-end: 0; bottom: 0; height: 90px;
      background: linear-gradient(to bottom, transparent, var(--navy-deep, #0a192f) 92%);
    }
    .hero-doc-row { grid-template-columns: 1fr; }
    .hero-doc-note { padding-inline-start: 0; }
    .hero-doc-note::before { display: none; }
  }
  @media (min-width: 1024px) {
    .hero-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 3.5rem; align-items: center; max-width: 1200px; margin: 0 auto; }
    .hero-grid .hero-content { text-align: start; }
    .hero-grid .tagline { margin-inline: 0; margin-block: 0 2rem; }
    .hero-grid .hero-cta { justify-content: start; }
    .hero-grid .hero-price-hint { text-align: start; }
    .hero-doc { margin: 0; max-width: none; }
  }

  /* Trust badges row below hero */
  .hero-trust-row {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    padding: 1.25rem 1rem;
    background: rgba(0,0,0,0.3);
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  .hero-trust-badge {
    /* Override the gold badge in shared-v2-merged.css: gold is reserved for
       CTA backgrounds, overlines, focus rings and at most one hairline per
       section (the gold contract) -- a row of four gold-outlined pills was
       none of those. Icon stroke inherits currentColor from this rule's
       `color`, overriding the shared sheet's `var(--gold)`. Hover stays a
       quiet white brighten (no gold); see the note below the hover rule for
       why focus is untouched here. */
    font-size: var(--fs-xs);
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    letter-spacing: 0.05em;
    padding: 0.35rem 0.9rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 2rem;
    background: transparent;
  }
  .hero-trust-badge svg { color: rgba(255,255,255,0.85); }
  .hero-trust-badge:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.28);
  }
  /* The badges are non-interactive spans (no href/tabindex) in index.hbs, so
     there is no focus state to style here; the shared sheet's existing
     :focus-visible rules on real interactive elements (links, the CTA)
     already carry the gold focus ring the gold contract reserves for it. */
  @media (max-width: 600px) {
    .hero-trust-row {
      flex-direction: column;
      align-items: center;
      gap: 0.5rem;
    }
  }

  /* "What ORCA doesn't do" transparency section */
  .not-for-section {
    padding: 3rem 1.5rem;
    background: rgba(0,0,0,0.15);
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  /* I-7 (2026-09-10 fold): scope-exclusion sub-heading, split out of the candour list above */
  .not-supported-title {
    font-size: var(--fs-sm);
    font-weight: 600;
    text-align: center;
    color: rgba(255,255,255,0.75);
    margin-bottom: 0.75rem;
  }
  .not-supported-list {
    margin-bottom: 1.75rem;
  }
  .not-for-section .section-title {
    font-size: var(--fs-h4);
    margin-bottom: 0.75rem;
  }
  .not-for-intro {
    color: rgba(255,255,255,0.65);
    font-size: var(--fs-sm);
    margin-bottom: 1.25rem;
    text-align: center;
  }
  .not-for-list {
    list-style: none;
    padding: 0;
    max-width: 600px;
    margin: 0 auto 1.25rem;
  }
  .not-for-list li {
    color: rgba(255,255,255,0.6);
    font-size: var(--fs-sm);
    padding: 0.4rem 0;
    padding-inline-start: 1.5rem;
    position: relative;
  }
  .not-for-list li::before {
    content: "—";
    position: absolute;
    inset-inline-start: 0;
    color: rgba(255,255,255,0.3);
  }
  .not-for-closing {
    text-align: center;
    color: rgba(255,255,255,0.75);
    font-size: var(--fs-sm);
    font-weight: 500;
  }

  /* #20 — "what ORCA doesn't do" promoted to a standalone gold-tinted section */
  .not-for-standalone {
    background: var(--gold-soft, rgba(212,175,85,0.07));
    border-top: 1px solid rgba(212,175,85,0.22);
    border-bottom: 1px solid rgba(212,175,85,0.22);
  }
  .not-for-standalone .section-title { text-align: center; }

  /* #29 — "who is this for" audience section (dark bg, opens the For-whom group) */
  .audience-section { padding: 4rem 1.5rem; }
  .audience-section .section-title { text-align: center; }
  .audience-intro {
    text-align: center;
    color: rgba(255,255,255,0.7);
    max-width: 640px;
    margin: 0.75rem auto 2rem;
    font-size: var(--fs-base);
    line-height: 1.6;
  }
  .audience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    max-width: 1000px;
    margin: 0 auto;
  }
  .audience-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    padding: 1.5rem;
    transition: border-color 0.2s, background 0.2s;
  }
  .audience-card:hover {
    border-color: rgba(212,175,85,0.3);
    background: rgba(255,255,255,0.06);
  }
  .audience-card h3 {
    color: #fff;
    font-size: var(--fs-base);
    margin: 0 0 0.5rem;
  }
  .audience-card p {
    color: rgba(255,255,255,0.72);
    font-size: var(--fs-sm);
    line-height: 1.6;
    margin: 0;
  }
  @media (max-width: 768px) {
    .audience-grid { grid-template-columns: 1fr; }
  }
  /* B6: no cards -- three plain type columns, first divider only */
  .audience-grid { background: none; }
  .audience-card {
    background: none; border: none; border-radius: 0; padding: 0 1.25rem 0 0;
    border-inline-end: 1px solid rgba(255,255,255,0.1);
  }
  .audience-card:last-child { border-inline-end: none; padding-inline-end: 0; }
  .audience-card:hover { background: none; border-inline-end-color: rgba(255,255,255,0.1); }
  @media (max-width: 768px) {
    .audience-card { border-inline-end: none; padding: 0; }
  }

  /* D5 — cream-context honest-box (shared .faq-honest-box is built for dark bg: white text + red tint) */
  .concerns-section .faq-honest-box {
    background: rgba(212,175,85,0.10);
    border: 1px solid rgba(212,175,85,0.30);
    border-inline-start: 3px solid var(--gold, #d4af55);
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
    max-width: none;     /* RJ M-2: reset shared 800px+auto-center; fill the faq-container content width */
    margin: 1.5rem 0 0;
  }
  .concerns-section .faq-honest-box .label {
    color: rgba(212,175,85,0.9);
  }
  .concerns-section .faq-honest-box p {
    color: rgba(255,255,255,0.7);
  }

  /* Showcase section (before/after demo) - visually bold */
  .showcase-section {
    padding: 6rem 1.5rem 5rem;
    background: linear-gradient(180deg, rgba(212,175,85,0.08) 0%, rgba(0,0,0,0.2) 100%);
    border-top: 2px solid rgba(212,175,85,0.25);
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .showcase-section .section-container {
    max-width: var(--container-max);
    margin: 0 auto;
  }
  .showcase-head {
    text-align: center;
    margin-bottom: 2.5rem;
  }
  .showcase-section .section-title {
    color: #fff;
    font-size: var(--fs-h2);
    font-weight: 700;
  }
  .showcase-overline {
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #d4af55;
    margin-bottom: 0.5rem;
    font-weight: 600;
  }
  .showcase-intro {
    color: rgba(255,255,255,0.7);
    font-size: var(--fs-base);
    margin-top: 0.75rem;
    line-height: 1.6;
  }
  .showcase-section .ba-panel {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(212,175,85,0.2);
    border-radius: 14px;
    padding: 2rem 2.5rem;
    box-shadow: 0 4px 30px rgba(0,0,0,0.2);
  }
  .showcase-section .ba-label {
    font-size: var(--fs-2xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
    color: rgba(255,255,255,0.55);
  }
  .showcase-section .intake-text {
    padding: 0 1.5rem 1rem;
    border-right: 3px solid rgba(212, 175, 85, 0.4);
    margin: 0 1.5rem 0.5rem;
  }
  [dir="ltr"] .showcase-section .intake-text {
    border-right: none;
    border-left: 3px solid rgba(212, 175, 85, 0.4);
  }
  .showcase-section .intake-text p {
    color: rgba(255,255,255,0.75);
    font-size: var(--fs-base);
    line-height: 1.9;
    margin-bottom: 0.8rem;
    font-style: italic;
    overflow-wrap: break-word;
  }
  .showcase-section .ba-expand { border: none; margin-top: 0.5rem; }
  .showcase-section .ba-expand summary {
    color: #d4af55;
    font-size: var(--fs-sm);
    cursor: pointer;
    list-style: none;
    padding: 0.25rem 0;
  }
  .showcase-section .ba-expand summary::-webkit-details-marker { display: none; }
  .showcase-section .ba-expand summary::before { content: '+ '; }
  .showcase-section .ba-expand[open] summary::before { content: '− '; }
  .showcase-section .ba-expand .intake-text { margin: 0; padding: 0.5rem 0 0; border: none; }
  .showcase-result {
    padding: 2rem 0 0;
    text-align: center;
  }
  .showcase-result .intake-note {
    font-size: var(--fs-2xs);
    color: rgba(255,255,255,0.55);
    margin-bottom: 1.25rem;
  }
  .showcase-result .intake-label {
    font-size: var(--fs-base);
    color: rgba(255,255,255,0.9);
    font-weight: 600;
    margin-bottom: 1rem;
  }
  .showcase-result .intake-domains {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 2rem;
  }
  .showcase-result .domain-pill {
    background: rgba(212, 175, 85, 0.15);
    border: 1px solid rgba(212, 175, 85, 0.3);
    color: rgba(255,255,255,0.85);
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: var(--fs-sm);
    font-weight: 500;
  }
  .showcase-downloads {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 0.5rem;
  }
  .showcase-pdf-cta,
  .showcase-memo-cta {
    display: inline-block;
    font-weight: 700;
    font-size: var(--fs-md);
    text-decoration: none;
    padding: 1rem 2.2rem;
    border-radius: 10px;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    letter-spacing: 0.02em;
  }
  .showcase-pdf-cta {
    color: #1e2d3d;
    background: linear-gradient(135deg, #d4af55 0%, #e8c96d 100%);
    box-shadow: 0 4px 20px rgba(212, 175, 85, 0.3);
  }
  .showcase-pdf-cta:hover {
    background: linear-gradient(135deg, #e0c06a 0%, #f0d87c 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(212, 175, 85, 0.45);
  }
  .showcase-memo-cta {
    color: #fff;
    background: rgba(212, 175, 85, 0.25);
    border: 1px solid rgba(212, 175, 85, 0.5);
    box-shadow: 0 4px 20px rgba(212, 175, 85, 0.15);
  }
  .showcase-memo-cta:hover {
    background: rgba(212, 175, 85, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(212, 175, 85, 0.3);
  }

  /* Real SOC output panel */
  .ba-output {
    margin-top: 2rem;
  }
  .soc-excerpt {
    padding: 1rem 1.5rem 0.5rem;
    border-right: 3px solid rgba(212, 175, 85, 0.4);
    margin: 0 1.5rem 1rem;
  }
  [dir="ltr"] .soc-excerpt {
    border-right: none;
    border-left: 3px solid rgba(212, 175, 85, 0.4);
  }
  .soc-excerpt .soc-cause-head {
    font-size: var(--fs-sm);
    font-weight: 700;
    color: #d4af55;
    margin-bottom: 1rem;
    text-transform: none;
    letter-spacing: 0;
  }
  .soc-excerpt p {
    color: rgba(255,255,255,0.82);
    font-size: var(--fs-sm);
    line-height: 1.85;
    margin-bottom: 0.9rem;
    overflow-wrap: break-word;
  }
  .soc-excerpt .soc-relief-line {
    font-size: var(--fs-xs);
    font-weight: 700;
    color: rgba(212,175,85,0.85);
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(212,175,85,0.2);
  }
  .soc-attribution {
    font-size: var(--fs-2xs);
    color: rgba(255,255,255,0.55);
    text-align: center;
    margin: 0.25rem 0 1rem;
  }
  .showcase-full-soc-link {
    display: inline-block;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: #d4af55;
    text-decoration: none;
    margin-top: 0.25rem;
  }
  .showcase-full-soc-link:hover { text-decoration: underline; }

  /* Domain coverage grid */
  .domains-section {
    padding: 4rem 0;
    background: var(--navy-mid, #0d1f3c);
  }
  .domains-intro {
    text-align: center;
    color: rgba(255,255,255,0.65);
    font-size: var(--fs-base);
    margin-bottom: 2.5rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .domains-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    max-width: 900px;
    margin: 0 auto 2rem;
  }
  .domain-card {
    background: rgba(30, 45, 61, 0.7);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 1.2rem 1rem;
    text-align: center;
    transition: border-color 0.2s ease, transform 0.15s ease;
  }
  .domain-card:hover {
    border-color: rgba(212, 175, 85, 0.3);
    transform: translateY(-2px);
  }
  .domain-icon {
    font-size: 1.5rem;
    margin-bottom: 0.4rem;
    opacity: 0.7;
  }
  .domain-card h3 {
    color: #fff;
    font-size: var(--fs-sm);
    margin: 0 0 0.3rem;
    font-weight: 600;
  }
  .domain-card p {
    color: rgba(255,255,255,0.55);
    font-size: var(--fs-xs);
    margin: 0;
    line-height: 1.4;
  }
  .domains-badge {
    text-align: center;
    color: var(--gold, #d4af55);
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  @media (max-width: 768px) {
    .domains-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 480px) {
    .domains-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
    .domain-card { padding: 1rem 0.75rem; }
  }

  /* Scroll reveal */
  .reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
    animation: revealFallback 0s ease 2.5s forwards;
  }
  .reveal.visible {
    opacity: 1;
    transform: translateY(0);
    animation: none;
  }
  @keyframes revealFallback {
    to { opacity: 1; transform: translateY(0); }
  }

  /* Hero secondary CTA */
  .hero-cta-secondary {
    display: inline-block; color: rgba(255,255,255,0.6); font-size: var(--fs-sm);
    text-decoration: none; padding: 0.4rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    transition: color 0.2s, border-color 0.2s;
  }
  .hero-cta-secondary:hover { color: rgba(255,255,255,0.9); border-color: rgba(255,255,255,0.5); }

  /* Domain category headers in homepage grid */
  .domain-category-head {
    grid-column: 1 / -1; font-size: var(--fs-2xs); font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--gold, #d4af55); padding: 1.5rem 0 0.5rem;
    border-bottom: 1px solid rgba(212,175,85,0.2);
  }

  /* Visual break between primary and secondary content zones */
  .detail-break {
    height: 1px; background: rgba(255,255,255,0.1); margin: 4rem 2rem; position: relative;
  }
  .detail-break::after {
    content: ''; position: absolute; right: 0; top: -1px;
    width: 40px; height: 3px; background: var(--gold, #d4af55);
  }

  /* Contract strip (True / Complete / Honest) + privacy disclosure strip
     (ws-w6-verify-copy). Same visual family as doc-skeleton-strip. */
  .contract-strip { padding: 3.5rem 0; background: var(--navy-mid, #0d1f3c); }
  .contract-strip .section-title, .contract-strip .section-overline { text-align: center; }
  .contract-intro {
    max-width: 44rem; margin: 1rem auto 2rem; text-align: center;
    font-size: 1.05rem; line-height: 1.75; color: rgba(255,255,255,0.85);
  }
  .contract-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; max-width: 1100px; margin: 2rem auto 0;
    border-top: 1px solid rgba(212,175,85,0.35); padding-top: 1.75rem;
  }
  .contract-card { text-align: start; }
  .contract-card h3 {
    margin: 0 0 0.6rem; font-size: 1.1rem; font-weight: 700;
    color: #fff; letter-spacing: 0.02em;
  }
  .contract-card p { margin: 0; font-size: 0.95rem; line-height: 1.7; color: rgba(255,255,255,0.78); }
  .contract-checks-line {
    text-align: center; margin: 2rem auto 0; font-size: 0.95rem;
    color: rgba(255,255,255,0.65);
  }
  /* Verification detail pulled up from /trust (operator amendment 2026-08-16) */
  .contract-verify {
    max-width: 44rem; margin: 2.25rem auto 0;
    background: var(--navy-light, #162544); border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px; padding: 1.5rem;
  }
  .contract-verify-intro { margin: 0 0 0.6rem; color: #fff; }
  details.contract-verify summary.contract-verify-intro { cursor: pointer; margin: 0; }
  details.contract-verify[open] summary.contract-verify-intro { margin-bottom: 0.6rem; }
  .contract-verify ul { margin: 0 0 0.9rem; padding-right: 1.2rem; color: rgba(255,255,255,0.8); line-height: 1.9; font-size: 0.95rem; }
  [dir="ltr"] .contract-verify ul { padding-right: 0; padding-left: 1.2rem; }
  .contract-verify-note { margin: 0 0 0.5rem; font-size: 0.93rem; line-height: 1.7; color: rgba(255,255,255,0.72); }
  .contract-trust-link { text-align: center; margin: 1.5rem 0 0; }
  .contract-trust-link a { color: var(--gold, #d4af55); text-decoration: none; font-size: 0.95rem; }
  .contract-trust-link a:hover { text-decoration: underline; }
  @media (max-width: 820px) { .contract-grid { grid-template-columns: 1fr; } }

  .privacy-strip { padding: 3.5rem 0; }
  .privacy-strip .section-title, .privacy-strip .section-overline { text-align: center; }
  .privacy-strip-intro {
    max-width: 44rem; margin: 1rem auto 2rem; text-align: center;
    font-size: 1.05rem; line-height: 1.75; color: rgba(255,255,255,0.85);
  }
  .privacy-strip-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2.5rem; max-width: 980px; margin: 0 auto;
  }
  .privacy-strip-card {
    padding: 1.1rem 0; border-top: 1px solid rgba(255,255,255,0.12); text-align: start;
  }
  .privacy-strip-card h3 { margin: 0 0 0.4rem; font-size: 1.02rem; font-weight: 700; color: #fff; }
  .privacy-strip-card p { margin: 0; font-size: 0.93rem; line-height: 1.7; color: rgba(255,255,255,0.75); }
  .privacy-strip-links { text-align: center; margin: 2rem 0 0; display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; }
  .privacy-strip-links a { color: var(--gold, #d4af55); text-decoration: none; font-size: 0.95rem; }
  .privacy-strip-links a:hover { text-decoration: underline; }
  .privacy-strip-links a.privacy-strip-policy { color: rgba(255,255,255,0.6); }
  @media (max-width: 720px) { .privacy-strip-grid { grid-template-columns: 1fr; } }

  /* Output skeleton strip (shown only when example showcases are gated).
     Content-free document shapes: the product-output visual with zero case facts. */
  .doc-skeleton-strip { padding: 3.5rem 0; background: var(--navy-mid, #0d1f3c); }
  .doc-skeleton-strip .section-title { text-align: center; margin-bottom: 2rem; }
  .doc-skeleton-strip .section-overline { text-align: center; }
  .doc-skeleton-grid {
    display: grid; grid-template-columns: repeat(3, 220px); gap: 1.5rem; max-width: 1100px;
    margin: 2rem auto 0; justify-content: center;
  }
  .doc-skeleton-card {
    background: var(--paper, #f4efe4); color: var(--ink, #1c2431);
    border-top: 2px solid var(--paper-rule, #cfc5ad);
    box-shadow: 0 12px 30px rgba(0,0,0,0.35);
    padding: 1.25rem 1.1rem;
  }
  .doc-skeleton-card-soc { padding-bottom: 2.25rem; }
  .doc-skeleton-tag {
    display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em;
    color: var(--ink, #1c2431); border-bottom: 1px solid var(--paper-rule, #cfc5ad);
    padding: 0 0 0.5rem; margin-bottom: 0.75rem; width: 100%;
  }
  .doc-skeleton-line { font-size: 0.88rem; color: var(--ink, #1c2431); opacity: 0.85; line-height: 1.6; margin: 0; }
  @media (max-width: 820px) { .doc-skeleton-grid { grid-template-columns: 220px; } }
  /* ===== Intro demo module (ws-w2-intro-module): case file -> decisions -> document ===== */
  .idm-section { max-width: 1180px; margin: 0 auto; padding: 3.5rem 1.5rem 2.5rem; scroll-margin-top: 90px; }
  .idm-head { text-align: center; margin-bottom: 2.2rem; }
  .idm-overline { color: var(--gold, #d4af55); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.14em; margin: 0 0 0.8rem; }
  .idm-head h2 { color: #fff; font-weight: 700; line-height: 1.25; font-size: clamp(1.45rem, 3.2vw, 2.1rem); margin: 0 0 0.9rem; }
  .idm-sub { max-width: 47rem; margin: 0 auto; font-size: clamp(0.98rem, 1.6vw, 1.06rem); line-height: 1.75; color: rgba(255,255,255,0.75); }
  .idm-sub strong { color: #fff; font-weight: 600; }
  .idm-demo { display: grid; grid-template-columns: 1fr 1.05fr 1.65fr; gap: clamp(1.1rem, 2.6vw, 1.9rem); align-items: start; margin-top: 1.4rem; }
  .idm-panel { position: relative; min-width: 0; }
  .idm-label { color: var(--gold, #d4af55); font-size: var(--fs-2xs); font-weight: 600; letter-spacing: 0.1em; margin: 0 0 0.7rem; }
  .idm-card { background: var(--navy-light, #162544); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 1rem; box-shadow: 0 4px 24px rgba(0,0,0,0.2); }
  .idm-arrow { position: absolute; top: 46%; inset-inline-start: -1.45rem; color: var(--gold, #d4af55); font-size: 1.2rem; opacity: 0.8; line-height: 1; }
  .idm-chips { display: flex; flex-direction: column; gap: 0.55rem; }
  .idm-chip { background: var(--navy-mid, #0d1f3c); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 0.55rem 0.75rem; font-size: var(--fs-sm); line-height: 1.55; color: rgba(255,255,255,0.75); display: flex; gap: 0.55rem; align-items: flex-start; transition: border-color 0.5s, box-shadow 0.5s; }
  .idm-dot { flex: none; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--gold, #d4af55); opacity: 0.55; margin-top: 0.42rem; }
  .idm-chip.idm-pulse { border-color: var(--gold, #d4af55); box-shadow: 0 0 0 3px rgba(212,175,85,0.08), 0 0 18px rgba(212,175,85,0.25); }
  .idm-chip.idm-attach { color: rgba(255,255,255,0.55); font-size: var(--fs-xs); }
  .idm-chip.idm-attach svg { flex: none; width: 0.95rem; height: 0.95rem; margin-top: 0.2rem; stroke: var(--gold, #d4af55); opacity: 0.8; }
  .idm-panel-foot { margin: 0.75rem 0 0; font-size: var(--fs-2xs); color: rgba(255,255,255,0.55); }
  .idm-spine { position: relative; padding-inline-start: 1.15rem; }
  .idm-rail { position: absolute; inset-inline-start: 0.25rem; top: 0.4rem; bottom: 0.4rem; width: 2px; background: rgba(255,255,255,0.1); border-radius: 2px; overflow: hidden; }
  .idm-rail-fill { position: absolute; top: 0; inset-inline-start: 0; width: 100%; height: 0; background: linear-gradient(180deg, var(--gold, #d4af55), rgba(212,175,85,0.35)); transition: height 4.2s ease; }
  .idm-rail-fill.idm-on { height: 100%; }
  .idm-step { position: relative; padding: 0.15rem 0 1rem; }
  .idm-step:last-child { padding-bottom: 0.15rem; }
  .idm-step::before { content: ''; position: absolute; inset-inline-start: -1.15rem; top: 0.42rem; width: 0.62rem; height: 0.62rem; border-radius: 50%; background: var(--navy-deep, #0a192f); border: 2px solid var(--gold, #d4af55); box-sizing: border-box; margin-inline-start: -0.06rem; }
  .idm-step h3 { margin: 0 0 0.3rem; font-size: var(--fs-sm); font-weight: 600; color: #fff; }
  .idm-step p { margin: 0; font-size: var(--fs-xs); line-height: 1.62; color: rgba(255,255,255,0.75); max-width: none; }
  .idm-step p.idm-math { margin-top: 0.25rem; font-weight: 600; color: rgba(255,255,255,0.9); }
  .idm-elect { display: flex; align-items: flex-start; gap: 0.45rem; font-size: var(--fs-sm); margin-top: 0.35rem; }
  .idm-elect .idm-ok { color: #10b981; font-weight: 600; }
  .idm-elect svg { width: 0.85rem; height: 0.85rem; flex: none; margin-top: 0.2rem; }
  .idm-reject { margin-top: 0.3rem !important; font-size: var(--fs-xs) !important; color: rgba(255,255,255,0.55) !important; }
  .idm-strike { text-decoration: line-through; text-decoration-color: rgba(255,255,255,0.4); }
  .idm-sheet-wrap { position: relative; }
  .idm-sheet { position: relative; overflow: hidden; background: #fbfaf6; color: #1a222f; border-radius: 3px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 16px 44px rgba(0,0,0,0.5); padding: 1.5rem 1.7rem 1.1rem 2.1rem; font-family: 'David Libre', 'David', 'Frank Ruhl Libre', 'Times New Roman', serif; font-size: var(--fs-xs); line-height: 1.66; }
  .idm-sheet::before { content: 'דוגמה להמחשה'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 2.7rem; font-weight: 700; color: #1a222f; opacity: 0.045; transform: rotate(-20deg); pointer-events: none; white-space: nowrap; }
  .idm-sheet[lang='en']::before { content: 'SAMPLE ONLY'; }
  .idm-cap-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
  .idm-cap-court { font-weight: 700; font-size: var(--fs-xs); margin: 0; }
  .idm-cap-case { font-size: var(--fs-2xs); margin: 0; white-space: nowrap; }
  .idm-parties { margin: 0.8rem 0 0; }
  .idm-party { margin: 0 0 0.15rem; }
  .idm-role { font-weight: 700; }
  .idm-rep { display: block; font-size: var(--fs-2xs); color: #3d4656; padding-inline-start: 1.2rem; }
  .idm-neged { text-align: center; font-weight: 700; letter-spacing: 0.45em; margin: 0.4rem 0; font-size: var(--fs-xs); }
  .idm-essence { margin: 0.65rem 0 0; padding-top: 0.5rem; border-top: 1px solid #d8dbe2; font-size: var(--fs-2xs); display: flex; gap: 1.5rem; flex-wrap: wrap; }
  .idm-doc-title { text-align: center; font-size: var(--fs-md); font-weight: 700; margin: 0.8rem 0 0.6rem; }
  .idm-doc-title span { border-bottom: 2px solid #1a222f; padding-bottom: 0.12rem; letter-spacing: 0.06em; }
  .idm-doc-h { font-weight: 700; text-decoration: underline; margin: 0.65rem 0 0.22rem; font-size: var(--fs-xs); }
  .idm-doc-p { margin: 0 0 0.28rem; text-align: justify; position: relative; max-width: none; }
  .idm-doc-p.idm-total { font-weight: 700; }
  .idm-sig-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin: 1rem 0 0; font-size: var(--fs-2xs); }
  .idm-sig-date { margin: 0; }
  .idm-sig-block { text-align: center; margin: 0; }
  .idm-sig-line { display: block; border-bottom: 1px solid #1a222f; width: 10.5rem; height: 1rem; margin: 0 auto 0.2rem; }
  .idm-page-foot { text-align: center; font-size: var(--fs-2xs); color: #9199a8; margin: 0.75rem 0 0; font-family: 'Inter', sans-serif; }
  .idm-g { position: absolute; inset-inline-end: -1.55rem; top: 0.14rem; width: 1.02rem; height: 1.02rem; border-radius: 50%; background: rgba(16,185,129,0.12); border: 1.5px solid #10b981; display: flex; align-items: center; justify-content: center; }
  .idm-g svg { width: 0.6rem; height: 0.6rem; stroke: #10b981; }
  .idm-legend { display: flex; align-items: center; gap: 0.45rem; margin: 0.65rem 0 0; font-size: var(--fs-2xs); color: rgba(255,255,255,0.55); }
  .idm-g-demo { flex: none; width: 1rem; height: 1rem; background: rgba(16,185,129,0.12); border: 1.5px solid #10b981; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
  .idm-g-demo svg { width: 0.58rem; height: 0.58rem; stroke: #10b981; }
  .idm-stamp { position: absolute; top: 0.9rem; inset-inline-end: -0.55rem; font-family: 'Heebo', sans-serif; font-weight: 700; font-size: var(--fs-xs); color: #8a6d1f; border: 2px solid #8a6d1f; border-radius: 6px; padding: 0.28rem 0.65rem; background: rgba(212,175,85,0.14); }
  .idm-memo { position: relative; margin: -1rem 1.4rem 0 auto; width: min(84%, 21rem); background: var(--navy-mid, #0d1f3c); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 0.75rem 0.9rem; box-shadow: 0 10px 26px rgba(0,0,0,0.45); }
  .idm-memo h4 { margin: 0 0 0.35rem; font-size: var(--fs-xs); color: var(--gold, #d4af55); font-weight: 600; letter-spacing: 0.06em; }
  .idm-mstats { display: flex; gap: 1.1rem; align-items: baseline; flex-wrap: wrap; }
  .idm-mstat b { display: block; font-family: 'Inter', sans-serif; font-variant-numeric: tabular-nums; font-size: var(--fs-base); font-weight: 600; color: #fff; line-height: 1.2; }
  .idm-mstat span { font-size: var(--fs-2xs); color: rgba(255,255,255,0.55); }
  .idm-memo p { margin: 0.45rem 0 0; font-size: var(--fs-xs); line-height: 1.55; color: rgba(255,255,255,0.75); max-width: none; }
  .idm-dl-row { display: flex; gap: 0.7rem; margin: 1rem 0 0; flex-wrap: wrap; }
  .idm-dl { flex: 1 1 12rem; display: flex; align-items: center; gap: 0.6rem; background: var(--navy-light, #162544); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 0.6rem 0.8rem; text-decoration: none; color: rgba(255,255,255,0.75); transition: border-color 0.2s, transform 0.2s; }
  .idm-dl:hover { border-color: var(--gold, #d4af55); transform: translateY(-2px); }
  .idm-dl:focus-visible { outline: 2px solid var(--gold, #d4af55); outline-offset: 2px; }
  .idm-dl svg { flex: none; width: 1.15rem; height: 1.15rem; stroke: var(--gold, #d4af55); }
  .idm-dl b { display: block; color: #fff; font-size: var(--fs-xs); font-weight: 600; }
  .idm-dl small { display: block; font-size: var(--fs-2xs); color: rgba(255,255,255,0.55); }
  .idm-note { text-align: center; font-size: var(--fs-2xs); color: rgba(255,255,255,0.55); margin: 1.2rem 0 0; max-width: none; }
  .idm-floor { text-align: center; max-width: 46rem; margin: 2rem auto 0; font-size: var(--fs-base); color: #fff; line-height: 1.7; }
  .idm-more { text-align: center; margin: 0.9rem 0 0; }
  .idm-more a { color: var(--gold, #d4af55); font-size: var(--fs-sm); text-decoration: none; border-bottom: 1px solid rgba(212,175,85,0.4); padding-bottom: 0.1rem; }
  .idm-more a:hover { border-bottom-color: var(--gold, #d4af55); }
  .idm-more a:focus-visible { outline: 2px solid var(--gold, #d4af55); outline-offset: 3px; border-radius: 2px; }
  #intro-demo [data-at] { opacity: 0; transform: translateY(9px); transition: opacity 0.55s ease, transform 0.55s ease; }
  #intro-demo [data-at].idm-on { opacity: 1; transform: none; }
  #intro-demo .idm-g[data-at] { transform: scale(0.5); transition: opacity 0.35s, transform 0.35s cubic-bezier(0.2, 1.4, 0.4, 1); }
  #intro-demo .idm-g[data-at].idm-on { transform: scale(1); }
  #intro-demo .idm-stamp[data-at] { transform: rotate(-7deg) scale(0.6); transition: opacity 0.45s, transform 0.45s cubic-bezier(0.2, 1.4, 0.4, 1); }
  #intro-demo .idm-stamp[data-at].idm-on { opacity: 0.95; transform: rotate(-7deg) scale(1); }
  /* No-JS / failed-script fallback (mirrors the .reveal revealFallback pattern above):
     reveal everything after 2.6s unless intro-demo.js marks the root with .idm-js */
  #intro-demo:not(.idm-js) [data-at] { animation: idmRevealFallback 0.7s ease 2.6s forwards; }
  #intro-demo:not(.idm-js) .idm-stamp[data-at] { animation-name: idmRevealFallbackStamp; }
  #intro-demo:not(.idm-js) .idm-rail-fill[data-at] { animation-name: idmRevealFallbackRail; }
  @keyframes idmRevealFallback { to { opacity: 1; transform: none; } }
  @keyframes idmRevealFallbackStamp { to { opacity: 0.95; transform: rotate(-7deg) scale(1); } }
  @keyframes idmRevealFallbackRail { to { opacity: 1; height: 100%; } }
  @media (max-width: 980px) {
    .idm-demo { grid-template-columns: 1fr; }
    .idm-arrow { display: none; }
  }
  @media (prefers-reduced-motion: reduce) {
    #intro-demo [data-at] { opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important; }
    #intro-demo .idm-g[data-at] { transform: scale(1) !important; }
    .idm-rail-fill { height: 100% !important; transition: none !important; }
    #intro-demo .idm-stamp[data-at] { opacity: 0.95 !important; transform: rotate(-7deg) !important; }
  }

  /* ===== Lane B gold contract (--gold token itself lives in shared-v2-merged.css,
     owned by the sibling lane -- this is the landing page's local restatement):
     gold is for CTA backgrounds, overlines, focus rings, and at most one hairline
     per section. Card and section titles are white. Step numbers keep gold (they
     are a real sequence); stat numbers keep gold. ===== */
  .products-section .product-card h3 { color: #fff; }
  .closing-cta-section .stat-number {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

/* moved from shared-v2-merged.css by UB-3214 (2026-09-02); original order preserved */
.parts-expand .parts-list {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
  margin-top: 0.35rem;
  padding: 0;
}

/* Closing CTA section text */
.closing-cta-desc {
    color: rgba(255,255,255,0.7);
    max-width: 500px;
    margin: 0 auto 1.5rem;
}

.closing-peer-pressure {
    font-size: var(--fs-md);
    font-weight: 600;
    color: var(--gold, #d4af55);
    max-width: 560px;
    margin: 0 auto 1.5rem;
    line-height: 1.5;
}

.vs-intro {
    text-align: center;
    color: rgba(255,255,255,0.65);
    max-width: 600px;
    margin: 0 auto var(--space-2xl);
    font-size: var(--fs-sm);
}

.vs-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--space-lg);
    align-items: start;
    max-width: 960px;
    margin: 0 auto;
}

.vs-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-md);
    gap: var(--space-sm);
}

.vs-label {
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: 4px;
}

.vs-label-gpt {
    background: rgba(239, 68, 68, 0.15);
    color: var(--danger-on-tint);
}

.vs-label-orca {
    background: rgba(212, 175, 85, 0.15);
    color: var(--gold, #d4af55);
}

.vs-verdict {
    font-size: var(--fs-xs);
    color: rgba(255,255,255,0.5);
    font-style: italic;
}

.vs-verdict-gpt { color: rgba(248, 113, 113, 0.7); }

.vs-verdict-orca { color: rgba(212, 175, 85, 0.7); }

.vs-issues li::before {
    content: "\2717";
    position: absolute;
    inset-inline-start: 0;
    color: var(--danger-on-tint);
    font-weight: 700;
}

.vs-strengths li::before {
    content: "\2713";
    position: absolute;
    inset-inline-start: 0;
    color: var(--gold, #d4af55);
    font-weight: 700;
}

.vs-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: rgba(255,255,255,0.55);
    letter-spacing: 0.1em;
}

@media (max-width: 768px) {
    .vs-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }
    .vs-divider {
        padding: var(--space-sm) 0;
    }
}

/* Hero ICP one-liner */
.hero-icp-line {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.55);
  margin: 0.5rem 0 0.75rem;
  letter-spacing: 0.2px;
}

.problem-p1 {
  font-size: var(--fs-md);
  color: rgba(255,255,255,0.9);
  font-weight: 600;
  margin-bottom: 1.25rem;
  line-height: 1.65;
}

.problem-p2, .problem-p3 {
  font-size: var(--fs-body);
  color: rgba(255,255,255,0.75);
  line-height: 1.75;
  margin-bottom: 1.1rem;
}

.problem-p4 {
  font-size: var(--fs-body);
  color: rgba(255,255,255,0.65);
  line-height: 1.7;
  font-style: italic;
  margin-bottom: 0;
}

/* Quality layer inside products */
.quality-layer {
  max-width: 900px;
  margin: 2rem auto 0;
  padding: 1.5rem;
  background: rgba(212,175,85,0.05);
  border: 1px solid rgba(212,175,85,0.15);
  border-radius: 12px;
}

.quality-intro {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.7);
  margin-bottom: 1rem;
  line-height: 1.6;
}

/* Privacy + Founder lines in closing */
.privacy-line {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.55);
  margin: 1.75rem auto 0.5rem;
  max-width: 560px;
  line-height: 1.55;
}

.founder-line {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.55);
  margin: 0 auto;
  max-width: 560px;
  font-style: italic;
  line-height: 1.55;
}

.outputs-duo-head {
  text-align: center;
  margin-bottom: 2.5rem;
}

.outputs-duo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  max-width: 900px;
  margin: 0 auto;
}

.output-preview-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.output-preview-tag {
  display: inline-block;
  background: rgba(212,175,85,0.15);
  color: #d4af55;
  border: 1px solid rgba(212,175,85,0.3);
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: var(--fs-xs);
  font-weight: 700;
  width: fit-content;
}

.output-preview-tag.strategy-tag {
  background: rgba(16,185,129,0.12);
  color: var(--success-on-dark);
  border-color: rgba(16,185,129,0.25);
}

.output-preview-body {
  flex: 1;
}

.soc-preview-body {
  direction: rtl;
}

.preview-court {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.55);
  margin-bottom: 0.2rem;
}

.preview-title-doc {
  font-size: var(--fs-body);
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.25rem;
}

.preview-parties {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.7);
  margin-bottom: 0.75rem;
}

.preview-vs {
  color: rgba(255,255,255,0.55);
  margin: 0 0.4rem;
}

.preview-excerpt {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.65);
  line-height: 1.6;
  border-right: 2px solid rgba(212,175,85,0.3);
  padding-right: 0.75rem;
}

.strategy-preview-body {
  direction: rtl;
}

.strategy-preview-body .preview-excerpt {
  border-right-color: rgba(16,185,129,0.3);
}

.preview-stats-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.preview-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

.preview-stat-label {
  font-size: var(--fs-2xs);
  color: rgba(255,255,255,0.55);
  text-align: center;
  margin-top: 2px;
}

/* 2026-08-16: view + PDF action row on the homepage sample cards */
.output-preview-actions { display: flex; align-items: center; gap: 1.25rem; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 0.75rem; }

.output-preview-actions .output-preview-link { border-top: none; padding-top: 0; }

@media (max-width: 700px) {
  .outputs-duo-grid { grid-template-columns: 1fr; }
}
