/* Local design-review variant. Existing Endiqo identity and approved animation. */
body { line-height: 1.55; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #2f8a57; outline-offset: 5px; }
section[id], li[id] { scroll-margin-top: 140px; }
#trace-title { scroll-margin-top: 158px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 30; padding: 10px 18px; background: white; color: #14351d; }
.skip-link:focus { top: 12px; }
.site-header { grid-template-columns: auto minmax(0, 1fr) auto; background: #102c1c; backdrop-filter: none; }
.site-header .button-primary { background: #6be18d; color: #102817; box-shadow: none; }
.site-header .button-sign-in { background: transparent; color: #f7fff8; box-shadow: none; }
.nav-links { display: flex; gap: 24px; }
.nav-links a { font-weight: 600; }
.hero-section:has(endiqo-demo) { padding-top: 62px; padding-bottom: 62px; }
.hero-section:has(endiqo-demo) .hero-copy { margin-bottom: 46px; }
.hero-section .hero-copy h1 { font-weight: 750; }
.hero-lede { max-width: 760px; }
.hero-copy .eyebrow { font-size: .94rem; font-weight: 650; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.hero-copy .eyebrow, .hero-copy h1, .hero-lede, .hero-actions { animation: none; }
.ed-playback { width: 44px; height: 44px; }
.customer-quote { position: relative; display: grid; grid-template-columns: 90px minmax(0, 880px); justify-content: center; gap: 0 24px; margin: 0; padding: 66px 32px 60px; background: #e5f2e8; }
.quote-glyph { grid-row: 1 / 3; font-family: Georgia, serif; font-size: 160px; line-height: .9; color: #479365; user-select: none; }
.customer-quote blockquote { margin: 0; color: #14351d; font-size: clamp(1.9rem, 3.9vw, 3.6rem); line-height: 1.18; font-weight: 500; letter-spacing: -.035em; text-wrap: balance; }
.customer-quote blockquote em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; color: #226940; }
.customer-quote figcaption { display: flex; align-items: center; gap: 14px; margin-top: 25px; color: #365a42; font-size: .94rem; }
.customer-quote figcaption > span { width: 34px; height: 1px; background: #479365; }
.section { max-width: 1256px; padding: 88px 28px; }
.section h2 { font-size: clamp(2rem, 3.1vw, 2.8rem); font-weight: 700; line-height: 1.12; letter-spacing: -.025em; }
.example-intro { display: flex; align-items: end; justify-content: space-between; gap: 42px; margin-bottom: 40px; }
.example-intro > div { max-width: 620px; }
.example-intro > div > p { max-width: 54ch; margin: 20px 0 0; color: #40564a; font-size: 1.12rem; }
.discovery-showcase { margin-bottom: 52px; }
.discovery-showcase h3, .product-showcase-heading { margin: 0 0 20px; color: #14351d; font-size: clamp(1.35rem, 2.2vw, 1.85rem); font-weight: 650; line-height: 1.25; letter-spacing: -.02em; }
.discovery-showcase-image { position: relative; isolation: isolate; display: block; overflow: hidden; padding: clamp(22px, 4vw, 48px); border-radius: 16px; background: radial-gradient(circle at 86% 12%, #327448 0, transparent 35%), #123523; box-shadow: 0 22px 38px #09271833; }
.discovery-showcase-image::before { content: ''; position: absolute; z-index: -1; top: -24%; right: -5%; width: 42%; aspect-ratio: 1; border-radius: 50%; box-shadow: 0 0 0 42px #95e5aa14, 0 0 0 92px #95e5aa0c; }
.discovery-desktop-crop { position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 1336 / 758; border-radius: 12px; box-shadow: 0 27px 35px #001a0c99, 0 5px 10px #001a0c77; }
.discovery-desktop-crop img { display: block; width: 101.05%; max-width: none; height: auto; transform: translate(-.37%, -2.82%); }
.discovery-mobile-excerpts { display: none; }
.discovery-showcase-image:hover .image-expand { background: #255d36; }
.product-showcase { margin: 0; }
.product-showcase-image { position: relative; display: block; overflow: hidden; border-radius: 12px; background: #102c1c; }
.product-showcase-image img { display: block; width: 100%; height: auto; }
.image-expand { position: absolute; right: 22px; bottom: 18px; display: flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 6px; background: #102c1c; color: #e9f8ee; font-size: .8rem; font-weight: 600; }
.product-showcase-image:hover .image-expand { background: #255d36; }
.record-link { display: inline-block; font-size: .9rem; line-height: 1.5; font-weight: 650; padding: 8px 0; color: #255d36; text-decoration: underline; text-underline-offset: 4px; }
.record-link:hover { color: #102c1c; }
details { font-size: .9rem; }
summary { cursor: pointer; font-weight: 600; padding: 10px 0; }
details p { margin: 8px 0 16px; }
.trace-example { margin-top: 54px; border-radius: 14px; padding: 36px 40px 40px; background: #132f23; color: #f2fbf5; box-shadow: 0 16px 36px #1234211c; }
.trace-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding-bottom: 28px; }
.trace-heading h3 { font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.25; font-weight: 650; letter-spacing: -.02em; }
.trace-heading p { color: #b9d1c1; font-size: .9rem; margin: 0; }
.trace-tabs { display: flex; gap: 8px; border-bottom: 1px solid #3b5a46; padding-bottom: 16px; }
.trace-tabs button { display: flex; align-items: center; gap: 9px; min-height: 44px; border: 0; border-radius: 7px; padding: 8px 16px; background: transparent; color: #c1d9c8; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.trace-tabs button > span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #304e3b; font-size: .75rem; }
.trace-tabs button[aria-selected="true"] { background: #a4e8b8; color: #14351d; }
.trace-tabs button[aria-selected="true"] > span { background: #14351d; color: #e6f7ec; }
.trace-tabs button:hover:not([aria-selected="true"]) { background: #284734; color: white; }
.trace-example :focus-visible { outline-color: #a4e8b8; }
.trace-panel { display: grid; grid-template-columns: .78fr 1.22fr; align-items: start; gap: 56px; padding-top: 36px; min-height: 330px; }
.trace-panel[hidden] { display: none; }
.trace-category { color: #b9d1c1; font-size: .8rem; }
.trace-aside > h4 { margin: 12px 0 24px; font-size: clamp(1.65rem, 2.8vw, 2.5rem); line-height: 1.16; font-weight: 500; letter-spacing: -.025em; }
.trace-avatar { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: #355843; color: #dbf6e3; font-size: .8rem; }
.trace-explanation { color: #b9d1c1; max-width: 30ch; font-size: .94rem; }
.chat-question { position: relative; max-width: 90%; margin: 0 0 26px; padding: 20px 24px; background: #294b39; border-radius: 12px 12px 12px 2px; box-shadow: 0 8px 16px #061c1233; font-size: .92rem; color: #edf8f1; }
.chat-question strong { display: block; margin-bottom: 7px; font-size: .78rem; color: #a4e8b8; }
.chat-answer { position: relative; margin: 0 0 14px 30px; padding: 24px 28px; background: #d2eddb; color: #153e24; border-radius: 12px 12px 3px 12px; box-shadow: 0 12px 24px #05180d55; font-size: clamp(1.12rem, 1.7vw, 1.42rem); line-height: 1.5; font-weight: 500; }
.chat-answer > span { display: block; font-size: .76rem; margin-bottom: 10px; color: #3a6548; font-weight: 650; }
.trace-chat > details { margin-left: 30px; }
.trace-detail { color: #cee2d5; font-size: .88rem; }
.trace-detail p { line-height: 1.65; }
.trace-status { display: inline-block; color: #143c24; background: #bce6c9; border-radius: 5px; padding: 4px 10px; font-size: .77rem; font-weight: 650; }
.trace-backlink { display: inline-block; padding: 10px 0; border: 0; background: transparent; color: #a4e8b8; font: inherit; font-size: .85rem; text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.trace-record-meta { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; color: #b9d1c1; font-size: .8rem; }
.trace-finding-record > h4 { font-size: 1.45rem; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; }
.trace-finding-record > p { font-size: .9rem; color: #cee2d5; line-height: 1.7; }
.process-proposal { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 70px; margin-top: 28px; padding: 40px; background: #e5f2e8; border-radius: 12px; }
.proposal-state { display: inline-flex; gap: 8px; align-items: center; color: #526044; font-size: .8rem; }
.proposal-state > span { font-size: 1.2rem; }
.proposal-copy h3 { font-size: clamp(1.3rem, 2.1vw, 1.8rem); font-weight: 600; line-height: 1.25; letter-spacing: -.02em; margin: 14px 0; max-width: 28ch; }
.proposal-copy details { color: #365a42; }
.guided-support { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 42px max(28px, calc((100vw - 1200px) / 2)); background: #e5f2e8; }
.guided-support > div { max-width: 720px; }
.guided-support h2 { font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 650; line-height: 1.2; }
.guided-support p:last-child { color: #365a42; margin-bottom: 0; }
.guided-support .button { border: 1px solid #255d36; background: transparent; box-shadow: none; color: #214b2e; white-space: normal; }
.trust-review { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.trust-review p { color: #40564a; font-size: 1.1rem; margin-top: 0; }
.contact-section { gap: 80px; background: #14351d; scroll-margin-top: 80px; padding-inline: max(28px, calc((100vw - 1200px) / 2)); }
.contact-copy h2 { font-weight: 700; letter-spacing: -.025em; line-height: 1.1; }
.contact-copy .contact-reassurance { margin-top: 40px; font-size: 1rem; max-width: 42ch; color: #c3d9c9; }
.contact-form { border: 0; box-shadow: none; padding: 0; background: transparent; }
.form-row label { font-size: .94rem; font-weight: 600; }
.form-row label span { color: #c3d9c9; font-weight: 400; font-size: .85rem; }
.guided-checkbox { display: flex; align-items: start; gap: 10px; font-size: .9rem; color: #e4f0e7; cursor: pointer; }
.guided-checkbox input { margin: 4px 0 0; width: 18px; height: 18px; accent-color: #6be18d; }
.contact-form > .button { justify-self: start; padding: 15px 24px; border: 0; background: #6be18d; color: #102817; box-shadow: none; cursor: pointer; }
.form-note, .form-status { margin: 0; color: #c3d9c9; font-size: .8rem; }
.form-note a { text-decoration: underline; }
.form-status { padding-top: 12px; border-top: 1px solid #45664e; }
.site-footer { background: #102c1c; }
@media (max-width: 1100px) {
  .site-header { grid-template-columns: auto 1fr; gap: 18px; padding-inline: 24px; }
  .nav-links { display: flex; grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 24px; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .trust-review { gap: 48px; }
  .contact-section { gap: 40px; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .site-header { padding: 12px 20px; gap: 10px; }
  .brand img { width: 90px; }
  .header-actions .button-primary { font-size: .78rem; padding: 10px 12px; min-height: 44px; }
  .header-actions { gap: 10px; }
  .header-actions .button-sign-in { display: none; }
  .nav-links { justify-content: space-between; gap: 10px; }
  .nav-links a { font-size: .78rem; padding: 5px 0; }
  .hero-section:has(endiqo-demo) { padding: 44px 20px; }
  .hero-section:has(endiqo-demo) h1 { font-size: clamp(2.1rem, 7vw, 3rem); }
  .hero-section:has(endiqo-demo) .hero-copy { margin-bottom: 36px; }
  .hero-actions .button { width: 100%; }
  .hero-copy .eyebrow { font-size: .84rem; }
  .hero-lede { font-size: 1.05rem; }
  .customer-quote { grid-template-columns: 32px minmax(0, 1fr); gap: 0 12px; padding: 44px 24px; }
  .quote-glyph { font-size: 76px; }
  .customer-quote blockquote { font-size: clamp(1.8rem, 6.5vw, 2.5rem); }
  .customer-quote figcaption { margin-top: 20px; }
  .trace-example { margin-top: 32px; padding: 26px 22px; }
  .trace-heading { display: block; padding-bottom: 22px; }
  .trace-heading p { margin-top: 10px; }
  .trace-tabs { gap: 4px; justify-content: space-between; }
  .trace-tabs button { flex-direction: column; gap: 6px; padding: 8px 9px; font-size: .74rem; flex: 1; min-width: 0; }
  .trace-panel { grid-template-columns: 1fr; gap: 24px; padding-top: 26px; min-height: 0; }
  .trace-aside > h4 br { display: none; }
  .trace-aside > h4 { margin: 10px 0 18px; font-size: 1.7rem; }
  .trace-explanation { max-width: none; }
  .chat-answer { margin-left: 12px; padding: 22px; }
  .trace-chat > details { margin-left: 12px; }
  .trace-record-meta { gap: 8px; flex-wrap: wrap; }
  .process-proposal { grid-template-columns: 1fr; gap: 25px; padding: 26px 24px; }
  .proposal-copy h3 { max-width: none; }
  .section { padding: 56px 20px; }
  .example-intro { display: block; }
  .discovery-showcase { margin-bottom: 38px; }
  .discovery-showcase-image { padding: 8px 8px 0; border-radius: 8px; background: #82c99a; }
  .discovery-desktop-crop { display: none; }
  .discovery-mobile-excerpts { display: grid; gap: 12px; padding: 14px; border-radius: 6px 6px 0 0; background: #1a2b21; }
  .discovery-mobile-excerpt { position: relative; display: block; overflow: hidden; border-radius: 10px; background: #1b2d23; }
  .discovery-mobile-excerpt-user { aspect-ratio: 2.75; }
  .discovery-mobile-excerpt-endiqo { aspect-ratio: 1.8; }
  .discovery-mobile-excerpt img { position: absolute; display: block; width: 220%; max-width: none; height: auto; }
  .discovery-mobile-excerpt-user img { right: -3%; top: -54%; }
  .discovery-mobile-excerpt-endiqo img { left: -1%; top: -94%; }
  .product-showcase-image { border-radius: 8px; }
  .image-expand { position: static; justify-content: center; border-radius: 0; padding: 12px; }
  .discovery-showcase-image .image-expand { margin: 0 -8px; }
  .trust-review, .contact-section { display: block; }
  .guided-support { display: block; padding: 36px 24px; }
  .guided-support .button { margin-top: 24px; }
  .trust-review > div { margin-top: 24px; }
  .contact-section { padding: 56px 24px; }
  .contact-copy { margin-bottom: 36px; }
  .site-footer { gap: 28px; }
  .site-footer div { gap: 16px; flex-wrap: wrap; }
}

/* Stakeholder selection stays independent of the Conversation / Evidence / Finding tabs. */
.stakeholder-picker { display: flex; flex-direction: column; gap: 8px; }
.stakeholder-choice { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 68px; padding: 12px; border: 0; border-radius: 8px; background: transparent; color: #e6f3eb; text-align: left; font: inherit; cursor: pointer; }
.stakeholder-choice:hover { background: #203f2e; }
.stakeholder-choice[aria-pressed="true"] { background: #355a43; }
.stakeholder-choice[aria-pressed="true"] .trace-avatar { background: #a4e8b8; color: #14351d; }
.stakeholder-choice strong, .evidence-person strong { display: block; font-size: .88rem; font-weight: 650; }
.stakeholder-choice small, .evidence-person small { display: block; color: #c3d8ca; font-size: .76rem; margin-top: 3px; }
.choice-arrow { margin-left: auto; color: #b5edc5; opacity: 0; }
.stakeholder-choice[aria-pressed="true"] .choice-arrow { opacity: 1; }
.conversation-stack { min-width: 0; padding-top: 4px; }
.trace-chat[hidden] { display: none; }
.chat-question::after { content: ''; position: absolute; bottom: -9px; left: 0; border-top: 10px solid #294b39; border-right: 11px solid transparent; }
.chat-answer::after { content: ''; position: absolute; bottom: -9px; right: 0; border-top: 10px solid #d2eddb; border-left: 11px solid transparent; }
.evidence-sources { list-style: none; margin: 0; padding: 0; }
.evidence-sources li { padding: 22px 0; border-bottom: 1px solid #3b5a46; }
.evidence-sources li:first-child { padding-top: 0; }
.evidence-sources li:last-child { border: 0; padding-bottom: 0; }
.evidence-person { display: flex; align-items: center; gap: 12px; }
.evidence-sources blockquote { margin: 14px 0 4px; font-size: 1.06rem; line-height: 1.5; color: #ecf8f0; }
.proposal-actions h4 { margin: 0 0 16px; font-size: .95rem; color: #214b2e; font-weight: 700; }
.proposal-actions ul { margin: 0; padding-left: 20px; }
.proposal-actions li { padding: 0 0 14px 5px; color: #365a42; font-size: .92rem; }
.proposal-actions li:last-child { padding-bottom: 0; }
.proposal-actions li::marker { color: #33744b; }
.benefits-review { padding-top: 36px; padding-bottom: 90px; }
.benefit-lead { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: center; padding: 0 0 42px; }
.benefit-lead h2 { max-width: 24ch; font-size: clamp(2rem, 3.8vw, 3.5rem); font-weight: 550; }
.benefits-review em { font-family: Georgia, 'Times New Roman', serif; color: #287445; font-weight: 400; }
.benefits-review p { font-size: 1.03rem; color: #40564a; line-height: 1.7; margin: 16px 0 0; max-width: 46ch; }
.benefit-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; border-top: 1px solid #b9d3c1; padding-top: 34px; }
.benefit-pair h3 { font-size: clamp(1.8rem, 2.6vw, 2.6rem); letter-spacing: -.025em; font-weight: 550; line-height: 1.2; max-width: 22ch; }
@media (max-width: 720px) {
  .stakeholder-picker { flex-direction: row; gap: 6px; }
  .stakeholder-choice { flex: 1; min-width: 0; flex-direction: column; justify-content: start; padding: 12px 5px; gap: 7px; text-align: center; }
  .stakeholder-choice strong { font-size: .74rem; }
  .stakeholder-choice small { font-size: .66rem; }
  .choice-arrow { display: none; }
  .chat-question { padding: 18px 20px; }
  .benefit-lead { display: block; padding-bottom: 30px; }
  .benefit-pair { grid-template-columns: 1fr; gap: 30px; padding-top: 30px; }
}


.evidence-entry { margin: 15px 0; }
.evidence-entry p { margin: 8px 0 0; color: #f1faf3; font-size: 1.04rem; line-height: 1.5; }
.evidence-type { display: inline-flex; align-items: center; gap: 5px; border-radius: 5px; padding: 4px 9px; background: #335541; color: #e3f6e8; font-size: .72rem; font-weight: 700; letter-spacing: .01em; }
.evidence-type-linked { background: #a4e8b8; color: #14351d; }
.evidence-type-risk { background: #efdcb6; color: #593c16; }
.evidence-type-painPoint { background: #e4d6f0; color: #482d5a; }
.evidence-type-dependency { background: #cbdff1; color: #203e57; }
.trace-more { margin: 18px 0 0 30px; border-top: 1px solid #3b5a46; padding-top: 8px; }
.trace-more-dialogue { padding: 14px 0 18px; }
.trace-more-dialogue .chat-answer { font-size: 1rem; }
.story-showcase { margin-top: 74px; }
.story-intro { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 26px; }
.story-intro > div { max-width: 700px; }
.story-intro h3 { scroll-margin-top: 150px; font-size: clamp(1.55rem, 2.5vw, 2.3rem); letter-spacing: -.02em; line-height: 1.17; font-weight: 650; }
.story-intro p { color: #40564a; font-size: 1.03rem; max-width: 55ch; margin: 12px 0 0; }
.story-status { flex-shrink: 0; color: #466450; font-size: .85rem; padding-bottom: 4px; }
.story-image { display: block; position: relative; overflow: hidden; padding: clamp(20px, 3vw, 38px); border-radius: 16px; background: linear-gradient(180deg, #dff3e6, #c9e9d4); box-shadow: 0 20px 36px #14482a21; }
.story-image img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 24px 34px #0c322056, 0 4px 8px #0c322040; }
.story-image:hover .image-expand { background: #255d36; }
@media (max-width: 720px) {
  .trace-more { margin-left: 12px; }
  .story-showcase { margin-top: 52px; }
  .story-intro { display: block; }
  .story-status { display: block; margin-top: 10px; }
  .story-image { padding: 14px 14px 0; }
  .story-image .image-expand { position: static; justify-content: center; border-radius: 0; padding: 12px; margin: 0 -14px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
