/* Public marketing only. The account dashboard keeps its existing design. */
.jp-heading {max-width:760px;margin-bottom:40px}
.jp-heading h2 {font-size:clamp(30px,3.4vw,48px);line-height:1.12;letter-spacing:-.03em;text-wrap:balance;margin:0 0 20px}
.jp-heading p {font-size:18px;line-height:1.65;color:var(--muted);max-width:65ch;margin:0}
.jp-families {padding-block:88px}
.jp-family-list {display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.jp-family {display:grid;grid-template-columns:1fr 28px;gap:12px 20px;padding:28px 0;border-top:1px solid var(--line,#dedee5);text-decoration:none;color:var(--ink)}
.jp-family h3 {font-size:22px;line-height:1.3;margin:0;letter-spacing:-.02em}
.jp-family p {grid-column:1;font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:60ch}
.jp-arrow {grid-column:2;grid-row:1;align-self:center;color:var(--accent)}
.jp-arrow .icon {width:22px;height:22px}
.jp-family:hover h3 {color:var(--accent)}
.jp-more {display:flex;flex-wrap:wrap;gap:16px 32px;border-top:1px solid var(--line,#dedee5);padding-top:24px}
.jp-flow {padding-block:80px;background:var(--surface,#f5f4f8)}
.jp-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;counter-reset:journey;padding:0;margin:0}
.jp-steps li {counter-increment:journey;padding-top:24px;border-top:1px solid var(--line,#dedee5)}
.jp-steps li::before {content:counter(journey);display:block;color:var(--accent);font-size:18px;font-weight:600;margin-bottom:20px}
.jp-steps h3 {font-size:25px;letter-spacing:-.02em;margin:0 0 14px}
.jp-steps p {line-height:1.7;color:var(--muted);margin:0 0 22px}
.jp-flow-note {margin:48px 0 0;font-size:14px;color:var(--muted)}
.jp-hub {padding-block:64px 88px}
.jp-hub h1 {max-width:920px;font-size:clamp(36px,4.8vw,64px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance;margin:0 0 24px}
.jp-hub>p {font-size:19px;line-height:1.65;max-width:65ch;color:var(--muted)}
.jp-hub h2 {font-size:30px;margin:64px 0 24px;letter-spacing:-.02em}
.jp-hub-links {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.jp-hub-links li {border-top:1px solid var(--line,#dedee5)}
.jp-hub-links a {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:20px;text-decoration:none}
.jp-hub-links .icon {width:20px;height:20px}
.jp-hub-actions {display:flex;gap:24px;flex-wrap:wrap;margin-top:40px;align-items:center}
.jx-public a:focus-visible {outline:2px solid var(--accent);outline-offset:5px}
.jx-public ::selection {background:var(--accent);color:#fff}
.jx-public .mx-card__text {white-space:normal;overflow:visible;font-size:14px;line-height:1.5}
@media(min-width:1025px){
 .jx-public .mx:not(.has-rail) .mx__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
 .jx-public .mx-card {padding:16px 12px;align-items:flex-start}
 .jx-public .mx__promo-art {display:none}
 .jx-public .mx__promo {justify-content:center;padding:32px;gap:20px}
 .jx-public .mx__promo-title {font-size:26px;line-height:1.2}
 .jx-public .mx__main {padding:28px 32px}
}
@media(max-width:700px){
 .jp-families,.jp-hub {padding-block:48px}
 .jp-family-list,.jp-hub-links,.jp-steps {grid-template-columns:1fr}
 .jp-heading {margin-bottom:28px}
 .jp-family-list {gap:0}.jp-family {padding-block:24px}
 .jp-flow {padding-block:48px}.jp-steps {gap:32px}
 .jp-more {flex-direction:column;align-items:flex-start}
}
/* Public content stays readable before scroll observers run. */
.jx-public .j-faq__item {opacity:1!important;transform:none!important}
@media(min-width:1025px){.jx-public.home .j-hero {min-height:680px;max-height:none}.jx-public.home .j-hero h1 {letter-spacing:-.03em}}
.jx-public .j-faq__list {opacity:1!important;transform:none!important}
.jp-hub-actions .btn {color:#fff;text-decoration:none}

/* Keep the arrow in the button's layout, so it never occupies the label's space.
   Stationary padding also avoids sticky hover movement after touch input. */
.jx-public .j-btn-arrow .wp-block-button__link,
.jx-public .j-btn-arrow .wp-block-button__link:hover {
 display:inline-flex;align-items:center;justify-content:center;gap:12px;
 max-width:100%;min-height:50px;padding:12px 24px;line-height:1.35;
 touch-action:manipulation;-webkit-tap-highlight-color:transparent;
 transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.jx-public .j-btn-arrow .wp-block-button__link::after,
.jx-public .j-btn-arrow .wp-block-button__link:hover::after {
 position:static;inset:auto;display:block;flex:0 0 18px;width:18px;height:18px;
 margin:0;transform:none;transition:none;
}
.jx-public .j-btn-arrow .wp-block-button__link:active {filter:brightness(.94)}
/* The workspace preview is an early introduction, rather than a distant closing banner. */
.jx-public.home .jp-showcase {padding-top:48px;padding-bottom:24px}
.jx-public.home .jp-showcase .j2-cta {display:grid;grid-template-columns:1fr 1.3fr;gap:20px 48px;align-items:center;padding:48px 0 0 48px;text-align:left}
.jx-public.home .jp-showcase h2 {grid-column:1;grid-row:1;font-size:clamp(36px,3.6vw,60px);letter-spacing:-.03em;margin:0;align-self:end}
.jx-public.home .jp-showcase .j2-cta__text {grid-column:1;grid-row:2;margin:0;max-width:28ch;align-self:start}
.jx-public.home .jp-showcase .j2-cta__actions {grid-column:1;grid-row:3;justify-content:flex-start;margin:0 0 48px;align-self:start}
.jx-public.home .jp-showcase .jx-dashshot {grid-column:2;grid-row:1 / 4;align-self:stretch;width:100%;max-width:none;aspect-ratio:1.3; margin:0;border-radius:16px 0 0 0}
.jx-public.home .jp-showcase .jx-dashshot svg {width:185%;max-width:none}
@media(max-width:900px){
 .jx-public.home .jp-showcase .j2-cta {grid-template-columns:1fr;padding:32px 24px 0;gap:20px;text-align:center}
 .jx-public.home .jp-showcase h2,.jx-public.home .jp-showcase .j2-cta__text,.jx-public.home .jp-showcase .j2-cta__actions,.jx-public.home .jp-showcase .jx-dashshot {grid-column:1;grid-row:auto}
 .jx-public.home .jp-showcase .j2-cta__text {margin-inline:auto;max-width:34ch}
 .jx-public.home .jp-showcase .j2-cta__actions {justify-content:center;margin:0}
 .jx-public.home .jp-showcase .jx-dashshot {aspect-ratio:1.8;margin-top:12px;border-radius:12px 12px 0 0}
 .jx-public.home .jp-showcase .jx-dashshot svg {width:150%}
}

/* Human context and the workspace preview share the first section after the hero. */
.jx-public.home .jp-showcase .jp-showcase__people {grid-column:2;grid-row:1 / 4;align-self:stretch;margin:0;min-height:480px;overflow:hidden;border-radius:16px 0 0 0}
.jx-public.home .jp-showcase .jp-showcase__people img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.jx-public.home .jp-showcase .jx-dashshot {z-index:1;grid-column:2;grid-row:3;align-self:end;justify-self:end;width:82%;height:190px;aspect-ratio:auto;margin:0}
.jx-public.home .jp-showcase .jx-dashshot svg {width:140%}
@media(max-width:900px){
 .jx-public.home .jp-showcase .jp-showcase__people {grid-column:1;grid-row:4;min-height:0;aspect-ratio:1.45;width:100%;margin-top:12px;border-radius:12px 12px 0 0}
 .jx-public.home .jp-showcase .jx-dashshot {grid-column:1;grid-row:4;align-self:end;justify-self:end;width:86%;height:125px;aspect-ratio:auto;margin:0}
 .jx-public.home .jp-showcase .jx-dashshot svg {width:145%}
}

/* Broad section surfaces give the homepage a readable change of pace. */
.jx-public.home .jp-families {
 --ink:#30251f;--muted:#695448;--line:rgba(82,54,32,.2);--accent:#6440ce;
 background:#fff3dc;
}
.jx-public.home .jp-flow {
 --ink:#fff8f2;--muted:#e1d8ef;--line:rgba(234,221,255,.28);--accent:#d5baff;
 background:#29213f;color:var(--ink);
}
.jx-public.home .jp-flow h2,.jx-public.home .jp-flow h3 {color:var(--ink)}
.jx-public.home .jp-flow a {color:#fff8f2;text-decoration-color:#cdb2ee;text-underline-offset:4px}
.jx-public.home .jp-flow a:hover {color:#e1c8ff}
.jx-public.home .jp-flow a:focus-visible {outline-color:#e1c8ff}
.jx-public.home .jp-flow-intro {display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;margin-bottom:48px}
.jx-public.home .jp-flow-intro .jp-heading {margin-bottom:0}
.jx-public.home .jp-flow-visual {margin:0;aspect-ratio:1.6;overflow:hidden;border-radius:16px}
.jx-public.home .jp-flow-visual img {display:block;width:100%;height:100%;object-fit:cover}
[data-theme="dark"] .jx-public.home .jp-families {
 --ink:#fff3dc;--muted:#e0cebb;--line:rgba(255,225,194,.24);--accent:#d5baff;
 background:#332b2c;
}
@media(max-width:800px){
 .jx-public.home .jp-flow-intro {grid-template-columns:1fr;gap:28px;margin-bottom:36px}
 .jx-public.home .jp-flow-visual {max-height:300px}
}
