.lp-approach[data-style="stephen_hayes"] {
  --option-accent: #5e8774;
  --option-icon-filter: brightness(0) saturate(100%) invert(49%) sepia(26%) saturate(756%) hue-rotate(107deg) brightness(93%) contrast(98%);
}
.lp-approach[data-style="freud"] {
  --option-accent: #8d5f46;
  --option-icon-filter: brightness(0) saturate(100%) invert(30%) sepia(50%) saturate(1240%) hue-rotate(347deg) brightness(101%) contrast(114%);
}
.lp-approach[data-style="jung"] {
  --option-accent: #5a7fa9;
  --option-icon-filter: brightness(0) saturate(100%) invert(38%) sepia(44%) saturate(1110%) hue-rotate(176deg) brightness(102%) contrast(116%);
}
.lp-approach[data-style="adler"] {
  --option-accent: #b2745e;
  --option-icon-filter: brightness(0) saturate(100%) invert(56%) sepia(20%) saturate(980%) hue-rotate(339deg) brightness(95%) contrast(103%);
}
.lp-approach[data-style="cbt"] {
  --option-accent: #4f46e5;
  --option-icon-filter: brightness(0) saturate(100%) invert(27%) sepia(100%) saturate(2600%) hue-rotate(236deg) brightness(102%) contrast(116%);
}
.lp-approach[data-style="dbt"] { --option-accent: #23726f; --option-icon-filter: brightness(0) saturate(100%) invert(38%) sepia(34%) saturate(735%) hue-rotate(128deg) brightness(94%) contrast(95%); }
.landing-hero-img { position: absolute; will-change: auto; }
.landing-hero .landing-hero-header { justify-content: flex-end; gap: 20px; }
.landing-hero .landing-hero-content { padding: 95px 24px 70px; gap: 24px; }
.landing-hero .lp-centered-brand { position: static; transform: none; display: flex; flex-direction: column; align-items: center; width: auto; margin: 0 0 12px; }
.landing-hero .lp-centered-brand img { width: clamp(140px,15vw,180px); height: auto; margin: 0; }
.landing-hero .lp-centered-brand .landing-hero-logo-text { font-size: 24px; letter-spacing: .24em; margin: 12px 0 0; }
.landing-hero .landing-hero-title { font-size: clamp(1.9rem,4.2vw,3.5rem); max-width: 850px; margin: 0; }
.landing-hero .landing-hero-subtitle { font-size: clamp(1.08rem,2vw,1.4rem); color: #eee8e5; max-width: 620px; margin: 0; line-height: 1.5; }
.lp-why .landing-section-inner { max-width: 1120px; }
.lp-why { padding-bottom: 50px; }
.lp-heading { max-width: 740px; margin: 0 auto 40px; text-align: center; }
.lp-why-heading { margin-bottom: 75px; }
.lp-eyebrow { font-size: .76rem; letter-spacing: .2em; color: #81735a; }
.landing .lp-heading h2 { font-size: clamp(2.3rem,4.5vw,3.5rem); margin: 12px 0; }
.lp-why h3 { font-size: clamp(1.6rem,3vw,2.35rem); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; margin: 16px 0 22px; }
.lp-story-copy>p,.lp-heading>p:not(.lp-eyebrow),.lp-neural-copy>p { font-size: 1rem; line-height: 1.75; color: #65616b; }
.lp-story-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(30px,6vw,90px); align-items: center; }
.lp-story-row,.lp-angles,.lp-map-story { padding: 60px 0 90px; border-bottom: 1px solid #dfd8cc; scroll-margin-top: 25px; }
.lp-step { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid #d5c9b4; border-radius: 50%; font-size: .76rem; color: #8b7452; }
.lp-chat { border: 1px solid #ded8ce; border-radius: 24px; background: #fbfaf7; overflow: hidden; box-shadow: 0 14px 40px #29243809; }
.lp-chat-header { display: flex; gap: 12px; align-items: center; padding: 22px; border-bottom: 1px solid #eae4dc; }
.lp-chat-header>img { border-radius: 50%; }
.lp-chat-header>div { flex: 1; min-width: 0; }
.lp-chat-header strong,.lp-chat-header div span { display: block; }
.lp-chat-header div span { font-size: .75rem; color: #66616f; margin-top: 4px; }
.lp-ai-badge { display: inline-block; color: #665880; background: #ece7f2; border-radius: 8px; padding: 5px 8px; font-size: .72rem; }
.lp-demo-note { font-size: .72rem; line-height: 1.55; color: #78717b; margin: 18px 22px; }
.lp-bubble { margin: 18px 22px 26px; padding: 20px; border-radius: 18px; line-height: 1.7; font-size: .96rem; }
.lp-bubble--user { margin-inline-start: 42px; background: #eae7f3; }
.lp-bubble--assistant { margin-inline-end: 42px; background: #efebe3; }
.lp-start-options details { border-bottom: 1px solid #ded8cf; padding: 17px 0; }
.lp-start-options summary { cursor: pointer; line-height: 1.55; font-size: .93rem; }
.lp-start-options p { color: #69636f; line-height: 1.7; font-size: .92rem; }
.lp-approach-demo { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 40px; align-items: start; }
.lp-scenario { padding: 32px; background: #eee9e0; border-radius: 22px; }
.lp-scenario>p { margin: 0; font-size: 1.2rem; line-height: 1.7; color: #484250; }
.lp-scenario q { quotes: auto; }
.lp-scenario .lp-demo-note { display: block; margin: 0; }
.lp-approaches { display: grid; gap: 10px; align-items: start; }
.lp-approach { border: 1px solid color-mix(in srgb,var(--option-accent) 35%,#e7e0d7); background: color-mix(in srgb,var(--option-accent) 8%,#faf8f3); border-radius: 15px; overflow: hidden; }
.lp-approach summary { display: flex; align-items: center; gap: 14px; padding: 20px; cursor: pointer; list-style: none; line-height: 1.4; }
.lp-approach summary::-webkit-details-marker { display: none; }
.lp-approach summary img { flex-shrink: 0; filter: var(--option-icon-filter); }
.lp-plus { margin-inline-start: auto; color: var(--option-accent); font-size: 1.3rem; }
.lp-approach[open] .lp-plus { transform: rotate(45deg); }
.lp-approach[open] { border-color: var(--option-accent); }
.lp-approach-answer { padding: 0 24px 20px; }
.lp-approach-answer blockquote { border-inline-start: 3px solid var(--option-accent); margin: 0; padding: 8px 0 8px 18px; font-size: 1.08rem; line-height: 1.65; color: #373344; }
.lp-approach-answer>p { font-size: .86rem; line-height: 1.7; color: #68616c; margin-bottom: 0; }
.lp-thread { border: 1px solid #ded8ce; border-radius: 24px; padding: 8px 28px 28px; background: #faf8f3; }
.lp-thread .lp-demo-note { margin-inline: 0; }
.lp-thread-part { padding: 20px 0 20px 24px; border-inline-start: 2px solid #c8b9d5; position: relative; }
.lp-thread-part:before { content: ''; position: absolute; inset-inline-start: -5px; top: 25px; width: 8px; height: 8px; border-radius: 50%; background: #9480ac; }
.lp-thread-part:last-child { padding-bottom: 0; }
.lp-thread-part p { font-size: .95rem; line-height: 1.7; }
.lp-thread-label { font-size: .76rem; color: #776983; }
.lp-map-story { border: none; }
.lp-map-example { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 45px; align-items: center; }
.lp-map-source { padding: 20px; }
.lp-map-source p { font-family: inherit; font-size: 1.15rem; font-style: normal; line-height: 1.7; color: #6b606c; }
.lp-map-paper { background: #faf8f3; border: 1px solid #ded8ce; border-radius: 24px; padding: clamp(22px,3vw,40px); box-shadow: none; }
.lp-paper-brand { display: flex; align-items: center; gap: 12px; font-size: .73rem; letter-spacing: .2em; color: #716048; }
.lp-map-paper h4 { color: #253248; font-family: inherit; font-size: 1.5rem; font-weight: 600; line-height: 1.3; margin: 23px 0 8px; }
.lp-map-paper .lp-demo-note { margin: 0 0 24px; }
.lp-map-entry { display: flex; gap: 16px; padding: 20px 0; border-top: 1px solid #eae1d2; }
.lp-map-number { font-size: .78rem; color: #967c50; padding-top: 4px; }
.lp-map-entry h5 { color: #253248; font-family: inherit; font-size: 1.05rem; font-weight: 600; line-height: 1.4; margin: 0 0 8px; }
.lp-map-entry p { margin: 0; color: #66606a; font-size: .92rem; line-height: 1.75; }
.lp-fine { font-size: .76rem; line-height: 1.6; color: #78717b; }
.lp-neural { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 40px; align-items: center; background: transparent; padding: 35px 0; color: #253248; scroll-margin-top: 25px; }
.lp-neural-copy>p { color: #65616b; }
.lp-chip-section { padding-bottom: 20px; }
.lp-chip-section .landing-section-inner { max-width: 1120px; }
.lp-neural-copy h2 { font-size: clamp(1.6rem,3vw,2.35rem); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; margin: 16px 0 22px; }
.lp-thread { padding-top: 20px; }
.lp-map-paper h4 { margin-bottom: 24px; }
.lp-neural-art { width: 100%; aspect-ratio: 440/400; position: relative; }
.lp-chip-board { display: block; width: 100%; height: auto; overflow: visible; }
.lp-chip-traces { fill: none; stroke-width: 1.7; stroke-linejoin: miter; opacity: .75; }
.lp-chip-rim { fill: #eee8f0; stroke: #766789; stroke-width: 1; }
.lp-chip-face { fill: #faf8f3; stroke: #a18ab6; stroke-width: 1.3; }
.lp-chip-core text { fill: #62536f; font: 9px sans-serif; letter-spacing: 2px; }
.lp-chip-node rect { fill: #faf8f3; stroke: currentColor; stroke-width: 1.2; }
.lp-chip-node svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lp-symbols { position: absolute; }
.lp-play .lp-chip-traces { animation: lp-lines .9s ease backwards; }
@keyframes lp-lines { from { opacity: 0; } to { opacity: .75; } }
.lp-access { text-align: center; max-width: 780px; }
.lp-access h2 { font-size: clamp(1.8rem,3.4vw,2.7rem); }
.lp-access p { max-width: 600px; margin-inline: auto; line-height: 1.75; color: #69616e; }
.lp-access .landing-cta-primary { margin-top: 20px; min-width: 0; max-width: 100%; white-space: normal; text-align: center; box-sizing: border-box; }
.landing :is(summary,a,button):focus-visible { outline: 3px solid #8170aa; outline-offset: 4px; }
.lp-play .lp-arrive { animation: lp-arrive .65s ease backwards; animation-delay: var(--delay,0s); }
@keyframes lp-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:760px) {
 .landing-hero .landing-hero-content { padding: 90px 22px 55px; gap: 22px; }
 .landing-hero .lp-centered-brand .landing-hero-logo-text { font-size: 21px; }
 .lp-story-row,.lp-approach-demo,.lp-map-example,.lp-neural { grid-template-columns: minmax(0,1fr); }
 .lp-story-row,.lp-angles,.lp-map-story { padding: 40px 0 55px; }
 .lp-why-heading { margin-bottom: 25px; }
 .lp-story-row { gap: 28px; }
 .lp-heading { margin-bottom: 28px; }
 .lp-scenario { padding: 25px; }
 .lp-neural { padding: 20px 0; gap: 20px; }
 .lp-neural-art { max-width: 400px; justify-self: center; }
 .lp-neural-copy { text-align: center; }
 .lp-map-source { padding: 0 8px; }
 .lp-map-example { gap: 12px; }
 .lp-bubble { padding: 16px; margin: 16px; }
 .lp-bubble--user { margin-inline-start: 30px; }
 .lp-bubble--assistant { margin-inline-end: 30px; }
}

@media(prefers-reduced-motion:reduce) { .lp-play .lp-arrive,.lp-play .lp-chip-traces { animation: none; } }

.lp-map-ellipsis { text-align: center; color: #978b9d; font-size: 1.6rem; line-height: 1; padding: 8px 0 16px; }
