/* Approved homepage refinement. Zero-specificity route guards preserve the
   original theme cascade and prevent these rules from restyling My Space. */
:root:where(:not(:has(body.in-app))) {
  --bg:#f2f2f2;--surface:#fafafa;--surface-2:#e9e9e9;
  --text:#1e1e1c;--text-2:#464641;--muted:#696963;
  --border:#d5d5d5;--border-strong:#a7a7a7;
  --violet:#282825;--blue:#282825;--blue-ink:#282825;--pink:#555550;--pink-ink:#41413d;
  --success:#4e4e4e;--attention:#5c5c5c;--danger:#5a5a5a;
  --t-violet:#e8e8e8;--t-blue:#e8e8e8;--t-pink:#ededed;--t-success:#e6e6e6;--t-attention:#ededed;--t-danger:#e9e9e9;
  --glass:rgba(244,244,244,.94);--glass-border:rgba(255,255,255,.8);--shared-tint:#e8e8e8;
  --ring:#242421;--grad:linear-gradient(115deg,#292926,#555550);
  --grad-soft:linear-gradient(115deg,rgba(42,42,39,.08),rgba(86,86,80,.08));
  --e1:0 1px 2px rgba(25,25,22,.05);
  --e2:0 6px 22px -12px rgba(25,25,22,.17),0 1px 2px rgba(25,25,22,.05);
  --e3:0 22px 54px -28px rgba(25,25,22,.24);--e-ai:0 16px 42px -23px rgba(25,25,22,.22);
  --r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:24px;
  --sans:"Satoshi",ui-sans-serif,system-ui,sans-serif;--serif:"Instrument Serif",Georgia,serif;
  color-scheme:light;
}
html:where(:not(:has(body.in-app))) {scroll-behavior:smooth;scroll-padding-top:86px;background:var(--bg)}
body:where(:not(.in-app)) {background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.58}
body:where(:not(.in-app))::before {content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E")}
:where(body:not(.in-app)) :focus-visible:where(:not(#heroInput)) {outline:2px solid #171715!important;outline-offset:4px!important}
:where(body:not(.in-app)) .wrap {max-width:1220px}
:where(body:not(.in-app)) .site-header {background:rgba(244,244,244,.95);border-bottom:1px solid var(--border)}
:where(body:not(.in-app)) .hdr {height:72px;max-width:1600px;width:100%;padding-inline:clamp(16px,2vw,24px);gap:16px}
:where(body:not(.in-app)) .hdr-actions {flex:none;margin-inline-start:auto}
:where(body:not(.in-app)) .hdr-actions > .btn-primary {min-inline-size:176px}
:where(body:not(.in-app)) #signInBtn {min-inline-size:100px}
:where(body:not(.in-app)) .logo-art {filter:grayscale(1) contrast(1.2)}
:where(body:not(.in-app)) .logo-caption {color:#5f5e57;letter-spacing:.22em}
:where(body:not(.in-app)) .nav {gap:9px}
:where(body:not(.in-app)) .nav a {color:#464641;font-size:.86rem}
:where(body:not(.in-app)) .nav a:hover {background:#e7e7e7;color:#1e1e1c}
:where(body:not(.in-app)) .nav > button {border:0;background:transparent;padding:10px 12px;border-radius:8px;color:#464641;font:500 .86rem var(--sans);white-space:nowrap}
:where(body:not(.in-app)) .nav > button:hover {background:#e7e7e7;color:#1e1e1c}
:where(body:not(.in-app)) .theme-choice {background:transparent;border-color:#c8c8c8;border-radius:999px;padding:2px}
:where(body:not(.in-app)) .theme-choice button[data-theme-choice="mono"] {min-width:49px;border-radius:99px;font-size:.68rem}
:where(body:not(.in-app)) .theme-choice button[aria-pressed="true"] {background:#242421}
#view-home .theme-choice button[aria-pressed="true"] {color:#f5f5f5!important}
:where(body:not(.in-app)) .hdr .btn-primary {color:#fff;background:#242421;border-radius:6px}
:where(body:not(.in-app)) .hero {padding:28px 0 40px}
:where(body:not(.in-app)) .hero::before {background:radial-gradient(ellipse at 50% 3%,#e5e5e5 0,transparent 56%)}
:where(body:not(.in-app)) .hero-grid {gap:0}
:where(body:not(.in-app)) .hero-copy {gap:10px;max-width:910px}
:where(body:not(.in-app)) .hero-copy .eyebrow {color:#5e5d56;letter-spacing:.2em;font-size:.67rem}
:where(body:not(.in-app)) #heroTitle {max-width:900px;font-size:clamp(2.7rem,5.5vw,4.6rem);line-height:.99;letter-spacing:-.055em;font-weight:600}
:where(body:not(.in-app)) .gtext {background:none;color:#282825}
:where(body:not(.in-app)) .hero-copy > .lead {max-width:660px;font-size:1.05rem;line-height:1.48;color:#55554f}
:where(body:not(.in-app)) .home-consultation-entry {margin-top:5px}
:where(body:not(.in-app)) .home-consultation-actions {gap:9px}
:where(body:not(.in-app)) .home-consultation-entry .btn {min-height:43px;border-radius:6px}
:where(body:not(.in-app)) .home-consultation-entry .btn-primary {background:#252522;color:#fff}
:where(body:not(.in-app)) .home-consultation-entry .btn-secondary {background:transparent;border-color:#9d9b94}
:where(body:not(.in-app)) .home-consultation-services {margin-top:8px;gap:2px}
:where(body:not(.in-app)) .home-consultation-services .btn {padding-inline:10px;color:#494943}
:where(body:not(.in-app)) .hero-visual {width:min(100%,480px);height:153px;margin-top:2px}
:where(body:not(.in-app)) .hero-visual svg {filter:grayscale(1)}
:where(body:not(.in-app)) .hero-visual::before {width:210px;height:170px;background:radial-gradient(ellipse,#dedede 0%,transparent 72%);filter:none}
:where(body:not(.in-app)) .profile {opacity:.92;stroke-width:1.4}
:where(body:not(.in-app)) .jd-wrap {margin-top:0;gap:9px}
:where(body:not(.in-app)) .jd-conversation-home.is-intro {width:min(100%,810px)}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-conversation-head {min-height:32px}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-mark {filter:grayscale(1)}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-conversation-head strong {font-size:.74rem;letter-spacing:.13em}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .b-private {background:#e5e5e5;color:#30302d;border:1px solid #d2d2d2}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-copy {width:100%;padding:6px 8px 0}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-copy h2 {font-family:var(--serif);font-weight:400;font-size:1.85rem;letter-spacing:-.015em}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-copy p {color:#5e5d57;font-size:.92rem;margin-top:3px}
:where(body:not(.in-app)) .jd-conversation-home.is-intro > .jd-box {width:100%;margin-top:12px;padding:12px 16px 9px;border-radius:12px;background:#fafafa;border-color:#c9c9c9;box-shadow:0 8px 24px -18px #222}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-glyph {color:#32322f}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-input {font-size:.98rem}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-input::placeholder {color:#75746d}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-starters {width:100%;margin-top:10px}
:where(body:not(.in-app)) .jd-intro-hint {color:#64635d}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .chip {background:transparent;border-color:#d0d0d0;color:#41413c;min-height:34px}
:where(body:not(.in-app)) .jd-conversation-home.is-intro .chip:hover {background:#e7e7e7;border-color:#b5b5b5}
:where(body:not(.in-app)) .neutral-line {font-size:.76rem;letter-spacing:.01em;color:#66655f}
:where(body:not(.in-app)) .section {padding-block:clamp(60px,8vw,106px)}
:where(body:not(.in-app)) .section.alt {background:#e9e9e9}
:where(body:not(.in-app)) .border-top {border-top:1px solid #d4d4d4}
:where(body:not(.in-app)) .section-head {max-width:790px;margin-bottom:34px}
:where(body:not(.in-app)) .section-head .eyebrow {color:#5c5b55}
:where(body:not(.in-app)) .section-head .h2 {font-size:clamp(2rem,3.7vw,3.25rem);letter-spacing:-.04em;line-height:1.05}
:where(body:not(.in-app)) .section-head .lead {color:#55554f;margin-top:15px}
:where(body:not(.in-app)) #how {padding-top:72px;padding-bottom:72px}
:where(body:not(.in-app)) #how .section-head {max-width:650px}
:where(body:not(.in-app)) #how .jd-story {display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,6vw,82px);align-items:center}
:where(body:not(.in-app)) #how .jd-story-copy h3 {font-family:var(--serif);font-size:2.25rem;font-weight:400;line-height:1.05}
:where(body:not(.in-app)) #how .jd-story-copy > p:not(.eyebrow) {color:#55554f;margin-top:12px}
:where(body:not(.in-app)) #how .jd-story-copy ul {padding-left:20px;color:#44443f}
:where(body:not(.in-app)) #how .jd-story-copy li {padding:4px 0}
:where(body:not(.in-app)) .jd-story-example {background:#fafafa;border:1px solid #d1d1d1;border-radius:14px;box-shadow:var(--e2);padding:22px}
:where(body:not(.in-app)) .jd-story-example-label,:where(body:not(.in-app)) .jd-story-example-foot {color:#66655f}
:where(body:not(.in-app)) .jd-story-you {background:#e9e9e9;border-radius:9px;padding:13px 15px;margin:16px 0}
:where(body:not(.in-app)) .jd-story-jd {border-left:2px solid #565650;padding:4px 0 4px 16px}
:where(body:not(.in-app)) .jd-story-jd .jd-mark {filter:grayscale(1)}
#view-home #how .jd-mono-editorial {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;max-width:1080px;margin:40px auto 0}
#view-home #how .jd-mono-editorial figure {width:100%;min-width:0;height:auto;aspect-ratio:16/10;margin:0;overflow:hidden;border-radius:10px;background:#dedede}
#view-home #how .jd-mono-editorial img {width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
#view-home #how .jd-mono-editorial figure:hover img {transform:scale(1.025)}
:where(body:not(.in-app)) #experts {background:#f2f2f2}
:where(body:not(.in-app)) #experts .section-head {display:grid;grid-template-columns:1fr minmax(260px,.75fr);column-gap:70px;align-items:end;max-width:none}
:where(body:not(.in-app)) #experts .section-head .eyebrow {grid-column:1/-1}
:where(body:not(.in-app)) #experts .section-head .lead {margin:0 0 4px}
:where(body:not(.in-app)) #experts .experts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
:where(body:not(.in-app)) #experts .expert {background:#fafafa;border:1px solid #d1d1d1;border-radius:10px}
:where(body:not(.in-app)) #experts .expert-photo {height:144px;filter:grayscale(1)}
:where(body:not(.in-app)) #experts .expert-content {display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:18px 18px 16px;gap:8px}
:where(body:not(.in-app)) #experts .expert-content > svg {width:32px;height:32px;padding:0;background:none!important;color:#383834!important;border-radius:0}
:where(body:not(.in-app)) #experts .expert h3 {font-family:var(--serif);font-size:1.45rem;font-weight:400;line-height:1.1}
:where(body:not(.in-app)) #experts .expert p {color:#5c5b55;font-size:.88rem;line-height:1.45}
:where(body:not(.in-app)) #experts .expert-action {margin-top:auto;padding:15px 0 0;color:#33332f!important;font-size:.82rem;font-weight:700}
:where(body:not(.in-app)) #experts .expert-photo-note {margin-top:14px;color:#67665f;font-size:.76rem}
:where(body:not(.in-app)) .booking-faq {padding:clamp(58px,8vw,96px) 0;background:#e9e9e9;border-top:1px solid #d4d4d4}
:where(body:not(.in-app)) .booking-faq-layout {display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,8vw,110px)}
:where(body:not(.in-app)) .booking-faq-intro .eyebrow {color:#62615a}
:where(body:not(.in-app)) .booking-faq-intro h2 {font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.05;letter-spacing:-.04em}
:where(body:not(.in-app)) .booking-faq-intro > p:not(.eyebrow) {color:#5d5c56;margin-top:14px;max-width:48ch}
:where(body:not(.in-app)) .faq-link {display:inline-flex;gap:10px;align-items:center;margin-top:22px;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}
:where(body:not(.in-app)) .booking-faq-list details {border-top:1px solid #d1d1d1}
:where(body:not(.in-app)) .booking-faq-list details:last-child {border-bottom:1px solid #d1d1d1}
:where(body:not(.in-app)) .booking-faq-list summary {cursor:pointer;list-style:none;padding:17px 32px 17px 0;position:relative;font-weight:700}
:where(body:not(.in-app)) .booking-faq-list summary::-webkit-details-marker {display:none}
:where(body:not(.in-app)) .booking-faq-list summary::after {content:"+";position:absolute;right:2px;top:13px;font-size:1.35rem;font-weight:400}
:where(body:not(.in-app)) .booking-faq-list details[open] summary::after {content:"−"}
:where(body:not(.in-app)) .booking-faq-list details p {padding:0 26px 18px 0;color:#55554f;font-size:.92rem}
:where(body:not(.in-app)) .booking-steps {list-style:none;padding:0;margin:22px 0 14px;display:grid;gap:0}
:where(body:not(.in-app)) .booking-steps li {display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #c8c8c8}
:where(body:not(.in-app)) .booking-steps li:last-child {border-bottom:1px solid #c8c8c8}
:where(body:not(.in-app)) .booking-steps li span {color:#707070;font:600 .72rem var(--sans);letter-spacing:.1em}
:where(body:not(.in-app)) .booking-steps li b {font-size:.94rem}
:where(body:not(.in-app)) #privacy .privacy-clarifier {background:#e9e9e9;border-left:2px solid #44443f;padding:16px 18px;color:#484842}
:where(body:not(.in-app)) #privacy .privacy-clarifier a {font-weight:700}
:where(body:not(.in-app)) .privacy-grid {gap:12px}
:where(body:not(.in-app)) .ptile {background:#fafafa;border-color:#d1d1d1}
:where(body:not(.in-app)) .ptile svg {color:#393935}
:where(body:not(.in-app)) .jd-close {background:#242421;color:#f5f5f5;padding-block:82px}
:where(body:not(.in-app)) .jd-close h2,:where(body:not(.in-app)) .jd-close h3 {color:#f5f5f5}
:where(body:not(.in-app)) .jd-close .eyebrow,:where(body:not(.in-app)) .jd-close p {color:#c8c7c0}
:where(body:not(.in-app)) .jd-close-route {background:#333330;border-color:#555550}
:where(body:not(.in-app)) .jd-close-route-primary {background:#424240}
:where(body:not(.in-app)) .jd-close-route p {color:#d3d2cb}
:where(body:not(.in-app)) .jd-close-action {color:#f7f6f0}
:where(body:not(.in-app)) .jd-close-safety {background:#ededed;border-color:#d0d0d0;color:#282825}
:where(body:not(.in-app)) .jd-close-safety h3,:where(body:not(.in-app)) .jd-close-safety p {color:#34342f}
:where(body:not(.in-app)) .jd-close-safety-action {background:#242421;color:#fff}
:where(body:not(.in-app)) .footer {background:#e8e8e8;border-top:1px solid #d4d4d4}
:where(body:not(.in-app)) .foot-brand-copy,:where(body:not(.in-app)) .footer .small {color:#5a5953}
:where(body:not(.in-app)) .safety-bar {inset-inline-end:18px;bottom:18px}
:where(body:not(.in-app)) .help-btn {background:#252522;color:#fff;border-color:#252522}
:where(body:not(.in-app)) .help-btn:hover {background:#3c3c37}
:where(body:not(.in-app)) .btn-primary {background:#252522;color:#fff}
:where(body:not(.in-app)) .btn-secondary {border-color:#a7a7a7;background:#fafafa}
:where(body:not(.in-app)) .btn-primary:hover,:where(body:not(.in-app)) .btn-secondary:hover,:where(body:not(.in-app)) .expert:hover {box-shadow:var(--e2)}
:where(body:not(.in-app)) .expert,:where(body:not(.in-app)) .journey,:where(body:not(.in-app)) .ptile,:where(body:not(.in-app)) .btn {transition:transform .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
:where(body:not(.in-app)) .btn:hover {transform:translateY(-1px)}
:where(body:not(.in-app)) .nav > button[data-book-consultation] {background:#252522;color:#fff;border-radius:6px;padding-inline:16px}
:where(body:not(.in-app)) .nav > button[data-book-consultation]:hover {background:#41413d;color:#fff}
#common-ground,#booking-faq {scroll-margin-top:96px}

/* The existing, live voice launcher is mounted here; its dialog stays at body level. */
.home-voice-entry {display:flex;justify-content:center;margin:8px auto 0}
.home-voice-entry a {font-size:.86rem;text-decoration:underline;text-underline-offset:4px}
/* Preserve the original floating voice character. On phones, keep its avatar
   in the fixed header so it never covers the private JD composer or Send. */
@media (max-width:767px) {
  :where(body:not(.in-app)) {--mobile-header-help-width:64px}
  :where(body:not(.in-app)) .jdhg-root .jdhg-launch {top:9px;bottom:auto;inset-inline-end:calc(76px + var(--mobile-header-help-width));width:44px;max-width:44px;height:44px;min-height:44px;padding:3px;gap:0;border-radius:50%}
  :where(body:not(.in-app)) .jdhg-root .jdhg-launch .jdhg-av {width:36px;height:36px}
  :where(body:not(.in-app)) .jdhg-root .jdhg-launch-label {display:none}
  :where(body:not(.in-app)) .site-header .hdr-actions {padding-inline-start:50px;gap:8px}
  :where(body:not(.in-app)) .hdr {padding-inline:16px;gap:8px}
  :where(body:not(.in-app)) .hdr .logo-art {max-width:calc(100vw - 158px - var(--mobile-header-help-width))}
  :where(body:not(.in-app)) .hdr .mobile-help-btn {box-sizing:border-box;flex:none;width:var(--mobile-header-help-width)!important;height:44px;padding:0;justify-content:center}
  :where(body:not(.in-app)) .hdr .menu-btn {flex:none;width:44px;height:44px}
  :where(body:not(.in-app)) .hdr-actions > .btn-primary,
  :where(body:not(.in-app)) .hdr-actions > .theme-choice {display:none}
}
@media (max-width:360px) {
  :where(body:not(.in-app)) {--mobile-header-help-width:44px}
  :where(body:not(.in-app)) .hdr .logo-art {max-width:min(130px,calc(100vw - 158px - var(--mobile-header-help-width)))}
}
/* Collapse navigation before its fixed-width items can crowd account controls.
   Reserve the longer signed-in labels even while the visitor is signed out. */
@media (max-width:1440px) {
  :where(body:not(.in-app)) .site-header .nav {display:none}
  :where(body:not(.in-app)) .site-header .menu-btn {display:inline-grid}
}
@media (min-width:768px) {
  :where(body:not(.in-app)) .hero {padding-top:25px;padding-bottom:28px}
  :where(body:not(.in-app)) .hero-grid {gap:0}
  :where(body:not(.in-app)) .hero-copy {gap:8px}
  :where(body:not(.in-app)) .hero-visual {height:142px}
  :where(body:not(.in-app)) .jd-wrap {margin-top:-2px}
}
@media (max-width:900px) {
  :where(body:not(.in-app)) #experts .experts {grid-template-columns:repeat(2,minmax(0,1fr))}
  :where(body:not(.in-app)) .nav {display:none}
  :where(body:not(.in-app)) .hdr-actions {margin-left:auto}
}
@media (max-width:767px) {
  :where(body:not(.in-app)) .hero {padding:18px 0 30px}
  :where(body:not(.in-app)) .hero-copy {gap:9px}
  :where(body:not(.in-app)) #heroTitle {font-size:clamp(2.4rem,10vw,3.35rem);line-height:.99;white-space:normal}
  :where(body:not(.in-app)) .hero-copy > .lead {font-size:.95rem}
  :where(body:not(.in-app)) .home-consultation-entry {width:100%}
  :where(body:not(.in-app)) .home-consultation-actions {width:100%}
  :where(body:not(.in-app)) .home-consultation-actions .btn {flex:1;padding-inline:10px;font-size:.82rem}
  :where(body:not(.in-app)) .home-consultation-entry > p {max-width:36ch;margin-inline:auto}
  :where(body:not(.in-app)) .home-consultation-services {justify-content:center}
  :where(body:not(.in-app)) .home-consultation-services .btn {padding-inline:8px;font-size:.78rem}
  :where(body:not(.in-app)) .hero-visual {height:102px;margin-top:0}
  :where(body:not(.in-app)) .hero-visual svg {height:155px;top:-23px}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-copy h2 {font-size:1.65rem}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro > .jd-box {margin-top:10px}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-starters .chips {flex-wrap:wrap;overflow:visible;mask:none}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .chip {white-space:normal;text-align:left}
  :where(body:not(.in-app)) #how .jd-story {grid-template-columns:1fr}
  :where(body:not(.in-app)) #how .jd-story-copy h3 {font-size:2rem}
  #view-home #how .jd-mono-editorial {grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
  :where(body:not(.in-app)) #experts .section-head {display:block}
  :where(body:not(.in-app)) #experts .section-head .lead {margin-top:12px}
  :where(body:not(.in-app)) #experts .expert-photo {height:140px}
  :where(body:not(.in-app)) .booking-faq-layout {grid-template-columns:1fr;gap:28px}
  :where(body:not(.in-app)) .section {padding-block:60px}
  :where(body:not(.in-app)) .jd-close {padding-block:58px}
  :where(body:not(.in-app)) .safety-bar {display:none!important}
  :where(body:not(.in-app)) .mobile-help-btn {background:#252522!important;border-color:#252522!important;color:#fff!important}
}
@media (max-width:430px) {
  :where(body:not(.in-app)) .hdr {height:62px;gap:8px}
  :where(body:not(.in-app)) .hdr .logo-art {width:155px;height:26px}
  :where(body:not(.in-app)) .hdr-actions {gap:5px}
  :where(body:not(.in-app)) .hdr-actions .btn-primary {display:none}
  :where(body:not(.in-app)) .mobile-help-btn {width:42px!important;height:42px;padding:0!important;justify-content:center}
  :where(body:not(.in-app)) .mobile-help-label {display:none}
  :where(body:not(.in-app)) .hero-copy > .lead {max-width:34ch}
  :where(body:not(.in-app)) .hero-visual {height:92px}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-copy {padding-inline:2px}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro > .jd-box {padding-inline:11px}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-box .icon-btn {width:36px;height:36px}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-input {font-size:.93rem}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .jd-intro-starters .chips {gap:6px}
  :where(body:not(.in-app)) .jd-conversation-home.is-intro .chip {min-height:32px;padding-inline:10px;font-size:.77rem}
  :where(body:not(.in-app)) #experts .experts {gap:9px}
  :where(body:not(.in-app)) #experts .expert-photo {height:114px}
  :where(body:not(.in-app)) #experts .expert-content {padding:14px 12px}
  :where(body:not(.in-app)) #experts .expert h3 {font-size:1.25rem}
  :where(body:not(.in-app)) #experts .expert p {font-size:.8rem}
}
@media (prefers-reduced-motion:reduce) {
  html:where(:not(:has(body.in-app))),body:where(:not(.in-app)),
  :where(body:not(.in-app)) *,:where(body:not(.in-app)) *::before,:where(body:not(.in-app)) *::after {
    scroll-behavior:auto!important;animation-duration:.01ms!important;
    animation-iteration-count:1!important;transition-duration:.01ms!important;
  }
}

/* Mine / Yours / Ours diagram: class-only styling, no presentation attributes,
   so the Mono theme attribute selectors never match these shapes. */
.myo-diagram svg.myo-v2 {display:block;width:100%;max-width:440px;height:auto;margin-inline:auto;overflow:visible;font-family:var(--sans)}
.myo-diagram svg.myo-v2 .mv-private {fill:#fafafa;stroke:#55554f;stroke-width:1.4}
.myo-diagram svg.myo-v2 .mv-them {stroke-dasharray:5 4}
.myo-diagram svg.myo-v2 .mv-lock :is(rect,path) {fill:none;stroke:#33332f;stroke-width:1.8;stroke-linecap:round}
.myo-diagram svg.myo-v2 .mv-link {fill:none;stroke:#8a8983;stroke-width:1.4;stroke-dasharray:3 4;stroke-linecap:round}
.myo-diagram svg.myo-v2 .mv-node {fill:#55554f;stroke:none}
.myo-diagram svg.myo-v2 .mv-ring {fill:none;stroke:#bdbcb6;stroke-width:1}
.myo-diagram svg.myo-v2 .mv-shared {fill:#242421;stroke:none}
.myo-diagram svg.myo-v2 text {fill:#1e1e1c;stroke:none}
.myo-diagram svg.myo-v2 .mv-label {font-size:22px;font-weight:700;letter-spacing:-.01em}
.myo-diagram svg.myo-v2 .mv-sub {font-size:16.5px;fill:#5c5b55}
.myo-diagram svg.myo-v2 .mv-shared-title {font-family:var(--serif);font-size:30px;fill:#f5f5f3}
.myo-diagram svg.myo-v2 .mv-shared-sub {font-size:15px;fill:#d6d5cf}
@media (max-width:430px) {
  .myo-diagram svg.myo-v2 .mv-sub,.myo-diagram svg.myo-v2 .mv-shared-sub {font-size:18.5px}
}

/* Fine-line contour detail belongs only to the two public hero profiles. */
#view-home .hero-visual .jd-profile-layered {color:var(--text-2)}
#view-home .hero-visual .jd-profile-layered .jd-contour {fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#view-home .hero-visual .jd-profile-layered .jd-c1 {stroke-width:.9;opacity:.42}
#view-home .hero-visual .jd-profile-layered .jd-c2 {stroke-width:.75;opacity:.28}
#view-home .hero-visual .jd-profile-layered .jd-c3 {stroke-width:.6;opacity:.17}
#view-home .hero-visual .jd-profile-layered .jd-c4 {stroke-width:.5;opacity:.09}
:root[data-theme="mono"] #view-home .hero-visual .jd-profile-face.jd-profile-layered {transform:none}
:root[data-theme="mono"] #view-home .hero-visual .jd-profile-layered .profile {stroke-width:1.25;opacity:.9}

/* Display the supplied artwork unchanged, inside the existing hero footprint. */
#view-home .hero-visual.hero-reference-art > svg,
#view-home .hero-visual.hero-reference-art::before {display:none}
#view-home .hero-visual.hero-reference-art > .hero-reference-image {display:block;width:100%;height:100%;object-fit:contain}

/* Give the supplied illustration room without stretching the hero's copy stack. */
#view-home #top.hero {padding-top:16px}
#view-home #top .hero-grid {gap:4px}
#view-home #top .hero-copy {gap:6px}
#view-home #top .hero-copy > .lead {margin-block:0}
#view-home #top .home-consultation-entry {margin-top:2px;gap:4px}
#view-home #top .home-consultation-services {margin-top:4px}
#view-home #top .home-consultation-entry > p {margin-block:0}
#view-home #top .hero-visual.hero-reference-art {width:clamp(320px,50vw,720px);max-width:100%;height:auto;aspect-ratio:2172 / 724;margin:0 auto}
#view-home #top .hero-visual.hero-reference-art > .hero-reference-image {width:100%;height:auto}
@media (min-width:768px) and (max-height:820px) {
  #view-home #top .hero-visual.hero-reference-art {width:clamp(320px,46vw,620px)}
}
@media (max-width:767px) {
  #view-home #top.hero {padding-top:14px}
  #view-home #top .hero-copy {gap:7px}
  #view-home #top .home-consultation-entry {gap:6px}
  #view-home #top .hero-visual.hero-reference-art {width:100%;height:auto;margin-top:2px}
}

/* Decorative signals follow the artwork's centre lines; the faces never move. */
#view-home #top .hero-visual.hero-reference-art > svg.hero-flow-overlay {display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
#view-home #top .hero-flow-overlay .jd-signal {fill:none;stroke:#252525;stroke-width:12;stroke-linecap:round;stroke-dasharray:.5 120;stroke-dashoffset:1;opacity:0}
#view-home #top .hero-flow-overlay .jd-signal-in {animation:jdHeroSignalIn 10s ease-in-out infinite}
#view-home #top .hero-flow-overlay .jd-signal-out {animation:jdHeroSignalOut 10s ease-in-out infinite}
#view-home #top .hero-flow-overlay .jd-signal-ack {fill:none;stroke:#303030;stroke-width:3;opacity:0;animation:jdHeroSignalAck 10s ease-in-out infinite}
@keyframes jdHeroSignalIn {
  0% {stroke-dashoffset:1;opacity:0}
  4% {opacity:.7}
  34% {stroke-dashoffset:-100;opacity:.7}
  38%,100% {stroke-dashoffset:-100;opacity:0}
}
@keyframes jdHeroSignalAck {
  0%,34% {opacity:0}
  42% {opacity:.18}
  52%,100% {opacity:0}
}
@keyframes jdHeroSignalOut {
  0%,48% {stroke-dashoffset:1;opacity:0}
  52% {opacity:.7}
  82% {stroke-dashoffset:-100;opacity:.7}
  86%,100% {stroke-dashoffset:-100;opacity:0}
}
@media (prefers-reduced-motion:reduce) {
  #view-home #top .hero-visual.hero-reference-art > svg.hero-flow-overlay {display:none}
  #view-home #top .hero-flow-overlay .jd-signal,
  #view-home #top .hero-flow-overlay .jd-signal-ack {animation:none;opacity:0}
}

/* Raise only the opening JD prompt; keep the artwork size and active chats intact. */
#view-home #top:has(.jd-conversation-home.is-intro) .hero-visual.hero-reference-art {margin-top:-12px}
#view-home #top .jd-wrap:has(.jd-conversation-home.is-intro) {margin-top:-10px}
#view-home #top .jd-conversation-home.is-intro .jd-conversation-head {min-height:28px}
#view-home #top .jd-conversation-home.is-intro .jd-intro-copy {padding-top:0}
#view-home #top .jd-conversation-home.is-intro .jd-intro-copy p {margin-top:2px}
#view-home #top .jd-conversation-home.is-intro > .jd-box {margin-top:6px}
@media (max-width:767px) {
  #view-home #top:has(.jd-conversation-home.is-intro) .hero-visual.hero-reference-art {margin-top:-6px}
  #view-home #top .jd-wrap:has(.jd-conversation-home.is-intro) {margin-top:-4px}
}
