/* Shared disclosure structure; variants describe purpose, never page position. */
body [data-disclosure-group] {
  display:flex; flex-direction:column; gap:14px;
  min-height:0 !important; height:auto !important; max-height:none !important;
  grid-auto-rows:auto !important;
}
body .mkt-disclosure {
  --disclosure-pad:32px; --disclosure-icon:60px; --disclosure-title:30px;
  box-sizing:border-box; position:relative; display:block; width:100%; min-width:0;
  height:auto !important; min-height:0 !important; max-height:none !important;
  padding:0 !important; margin:0; overflow:visible !important;
  border:2px solid transparent !important; border-radius:44px;
  background:#efeaff; box-shadow:none;
}
body .mkt-disclosure[data-open="true"] { background:#fff; border-color:#eaebf0 !important; }
body .mkt-disclosure[data-disclosure-variant="editorial"] { background:#f1f1f1; }
body .mkt-disclosure[data-disclosure-variant="editorial"][data-open="true"] { background:#fff; }
body .mkt-disclosure[data-disclosure-variant="account"] { --disclosure-pad:20px; --disclosure-icon:36px; --disclosure-title:18px; border-radius:30px; }
body .mkt-disclosure[data-disclosure-variant="profile"] { --disclosure-pad:26px; --disclosure-icon:44px; --disclosure-title:23px; }
body .mkt-disclosure > .mkt-disclosure__heading { margin:0; padding:0; font:inherit; }
body .mkt-disclosure__toggle {
  appearance:none; box-sizing:border-box; display:flex; align-items:flex-start; justify-content:space-between;
  width:100%; min-width:0; gap:20px; margin:0; padding:14px var(--disclosure-pad);
  border:0; border-radius:inherit; background:transparent; color:inherit; text-align:left;
  font:inherit; cursor:pointer; box-shadow:none; position:relative;
}
body .mkt-disclosure__title {
  min-width:0; font-size:var(--disclosure-title); line-height:1.3; font-weight:600; overflow-wrap:anywhere;
  /* Centre the first line against the icon. Extra lines grow downwards only. */
  padding-top:max(0px,calc((var(--disclosure-icon) - var(--disclosure-title)*1.3)/2));
}
body .mkt-disclosure__title > * { font:inherit; color:inherit; margin:0; }
body .mkt-disclosure__icon {
  position:relative; flex:0 0 var(--disclosure-icon); width:var(--disclosure-icon); height:var(--disclosure-icon);
  border-radius:50%; background:#fff; color:#101010;
  transition:background-color 180ms ease, color 180ms ease;
}
body .mkt-disclosure__icon::before, body .mkt-disclosure__icon::after {
  content:""; position:absolute; width:18px; height:2px; left:50%; top:50%;
  background:currentColor; border-radius:2px; transform:translate(-50%,-50%);
}
body .mkt-disclosure__icon::after { transform:translate(-50%,-50%) rotate(90deg); }
body .mkt-disclosure[data-open="true"] .mkt-disclosure__icon { background:#f2eff7; }
body .mkt-disclosure[data-open="true"] .mkt-disclosure__icon::before { transform:translate(-50%,-50%) rotate(45deg); }
body .mkt-disclosure[data-open="true"] .mkt-disclosure__icon::after { transform:translate(-50%,-50%) rotate(-45deg); }
body .mkt-disclosure .mkt-disclosure__panel {
  box-sizing:border-box; position:static; display:block; width:100%; min-width:0;
  height:auto !important; min-height:0 !important; max-height:none !important;
  margin:0 !important; padding:0 var(--disclosure-pad) 28px !important; overflow:visible !important;
  color:inherit; font-size:19px; line-height:1.7; transform:none; opacity:1; visibility:visible;
}
body .mkt-disclosure .mkt-disclosure__body {
  box-sizing:border-box; width:100%; height:auto !important; max-height:none !important;
  margin:0; padding:0 !important; overflow:visible !important; display:block; color:inherit; font:inherit;
}
body .mkt-disclosure__body > :first-child { margin-top:0; }
body .mkt-disclosure__body > :last-child { margin-bottom:0; }
body .mkt-disclosure__body p { margin:0 0 1em; line-height:inherit; }
body .mkt-disclosure__body a { overflow-wrap:anywhere; }
body .mkt-disclosure__body .palm-seo__content--mobile { display:none; }
@media(max-width:767.98px) {
  body .mkt-disclosure__body .palm-seo__content--desktop { display:none; }
  body .mkt-disclosure__body .palm-seo__content--mobile { display:block; }
}
body .mkt-disclosure__preview {
  margin:0; padding:0 var(--disclosure-pad) 26px; font-size:19px; line-height:1.7;
}
body .mkt-disclosure__preview > span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
body .mkt-disclosure [hidden] { display:none !important; }
body .mkt-disclosure[hidden] { display:none !important; }
body .mkt-disclosure__toggle:focus-visible { outline:2px solid #8b65df; outline-offset:4px; border-radius:40px; }
body .mkt-disclosure__toggle:disabled { cursor:default; }
body .mkt-disclosure__toggle:disabled .mkt-disclosure__icon { display:none; }
body .mkt-disclosure[data-disclosure-variant="account"] .mkt-disclosure__panel { font-size:16px; }
body .mkt-disclosure[data-disclosure-variant="profile"] .mkt-disclosure__panel { font-size:18px; }
@media(max-width:991.98px) {
  body .mkt-disclosure { --disclosure-pad:24px; --disclosure-icon:48px; --disclosure-title:24px; border-radius:35px; }
  body .mkt-disclosure .mkt-disclosure__panel, body .mkt-disclosure__preview { font-size:18px; }
}
@media(max-width:575.98px) {
  body .mkt-disclosure { --disclosure-pad:18px; --disclosure-icon:40px; --disclosure-title:20px; border-radius:30px; }
  body .mkt-disclosure__toggle { gap:12px; padding-top:16px; padding-bottom:16px; }
  body .mkt-disclosure .mkt-disclosure__panel, body .mkt-disclosure__preview { font-size:16px; line-height:1.7; }
  body .mkt-disclosure[data-disclosure-variant="account"] { --disclosure-title:16px; --disclosure-pad:16px; --disclosure-icon:32px; }
}
body .mkt-disclosure[data-mobile-only="true"] { display:none; }
@media(max-width:767.98px) { body .mkt-disclosure[data-mobile-only="true"] { display:block; } }
/* Common card frame. Source classes remain layout adapters; hover never changes size. */
/* Repeated Home/Psychic review body. A bounded vector quote sits beside the
   first text line; large font glyph bearings no longer pull it above the copy. */
body .mkt-card[data-card-kind="review"].clients-section__review .clients-section__review-body {
  display:grid !important; grid-template-columns:22px minmax(0,1fr);
  align-items:start !important; gap:8px !important; min-width:0;
}
body .mkt-card[data-card-kind="review"].clients-section__review .clients-section__quote-mark {
  position:static !important; inset:auto !important; display:block !important;
  width:22px !important; height:18px !important; margin:3px 0 0 !important;
  padding:0 !important; font-size:0 !important; line-height:0 !important;
  background-color:var(--secondary-color,#a585ff);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M2 2h8v8c0 4.5-2.1 7.5-6.3 9l-1.5-3c2.4-.9 3.8-2.4 4.1-4.8H2V2zm12 0h8v8c0 4.5-2.1 7.5-6.3 9l-1.5-3c2.4-.9 3.8-2.4 4.1-4.8H14V2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M2 2h8v8c0 4.5-2.1 7.5-6.3 9l-1.5-3c2.4-.9 3.8-2.4 4.1-4.8H2V2zm12 0h8v8c0 4.5-2.1 7.5-6.3 9l-1.5-3c2.4-.9 3.8-2.4 4.1-4.8H14V2z'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:none !important;
}
body .mkt-card[data-card-kind="review"].clients-section__review .clients-section__review-text {
  width:auto !important; min-width:0; max-width:100% !important;
  margin:0 !important; flex:initial !important;
}
/* Shared public expert metadata. Fixed native column widths must not squeeze
   the profession; the score and its star move as one unit on narrow cards. */
body .mkt-expert-card { container-type:inline-size; }
body .mkt-card[data-card-kind="expert"] .mkt-expert-person { flex:0 0 auto !important; height:auto !important; }
body .mkt-card[data-card-kind="expert"] .mkt-expert-actions { transform:none !important; }
/* Chat controls share a colour response; neither the control nor its label lifts. */
body .mkt-expert-card :is(.c-btn--primary,.lov-expert-card__cta,.aura-expert-card__cta,.pp-expert-card__cta,.blog-advisor__cta,.cheap-expert-card__cta) {
  transform:none !important;
  transition:background-color 180ms ease !important;
}
@media(hover:hover) and (pointer:fine) {
  body .mkt-expert-card :is(.c-btn--primary,.lov-expert-card__cta,.aura-expert-card__cta,.pp-expert-card__cta,.blog-advisor__cta,.cheap-expert-card__cta):hover {
    --expert-cta-background:#6340c5;
    background-color:#6340c5 !important;
  }
}
body .mkt-card[data-card-kind="expert"] .mkt-expert-identity {
  display:flex !important; flex:1 1 auto !important; flex-direction:column;
  align-items:flex-start; justify-content:flex-start; gap:0 !important;
  min-width:0 !important; width:auto !important;
  height:auto !important; min-height:0 !important;
}
body .mkt-card[data-card-kind="expert"] .mkt-expert-meta {
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
  gap:6px 8px !important; width:100% !important; height:auto !important; min-width:0;
  margin-top:8px !important;
}
body .mkt-expert-rating {
  display:inline-flex; flex:0 0 auto; align-items:center; gap:6px;
  max-width:100%; white-space:nowrap;
}
body .mkt-card[data-card-kind="expert"] .mkt-expert-role {
  display:block !important; flex:0 0 auto !important; width:auto !important;
  max-width:none !important; height:auto !important; min-height:0 !important;
  max-height:none !important; background:none !important; border:0 !important;
  margin:0 !important; padding:0 !important; white-space:nowrap !important;
  color:#919191 !important; font-family:"Manrope",sans-serif !important;
  font-size:15px !important; line-height:1.2 !important; font-weight:400 !important;
  letter-spacing:0 !important; text-transform:none;
}
/* A compact status uses real shared children, with no page-specific pseudo-dot. */
body .mkt-card[data-card-kind="expert"] .mkt-expert-status {
  box-sizing:border-box; display:inline-flex !important; flex:0 0 auto;
  align-items:center !important; justify-content:flex-start !important;
  align-self:flex-start; gap:6px !important;
  width:max-content !important; min-width:0 !important; height:24px !important;
  min-height:24px !important; margin:8px 0 0 !important; padding:3px 9px !important;
  border:0 !important; border-radius:12px !important;
  background:#edf8f0 !important; background-image:none !important;
  box-shadow:none !important; color:#34744c !important;
  font:600 12px/18px "Manrope",sans-serif !important;
  letter-spacing:0 !important; text-transform:none !important; white-space:nowrap;
}
body .mkt-card[data-card-kind="expert"] .mkt-expert-status::before,
body .mkt-card[data-card-kind="expert"] .mkt-expert-status::after { content:none !important; display:none !important; }
body .mkt-expert-status__dot {
  display:block; flex:0 0 7px; width:7px; height:7px;
  border-radius:50%; background:#62bd7b;
}
body .mkt-expert-status__label { display:block; font:inherit; color:inherit; white-space:nowrap; }
@media(max-width:575.98px) {
  body .mkt-card[data-card-kind="expert"] .mkt-expert-role { font-size:12px !important; }
}
@media(max-width:991.98px) {
  body .mkt-card[data-card-kind="expert"].mkt-expert-card { height:auto !important; min-height:min-content !important; }
  body .mkt-expert-list { height:auto !important; grid-template-rows:none !important; grid-auto-rows:auto !important; }
  /* Keep authored biographies as compact previews when cards grow to fit the
     shared header. Full text remains in HTML; no narrow card becomes a text wall. */
  body .mkt-card[data-card-kind="expert"] .mkt-expert-description {
    display:-webkit-box !important; -webkit-box-orient:vertical; -webkit-line-clamp:5;
    flex:0 0 auto; height:auto !important; min-height:0 !important; max-height:none !important;
    overflow:hidden !important;
  }
}
@media(max-width:575.98px) {
  body .mkt-card[data-card-kind="expert"] .mkt-expert-description.d-none.d-sm-flex { display:none !important; }
}
@container(max-width:220px) {
  body .mkt-card[data-card-kind="expert"] .mkt-expert-role { font-size:12px !important; }
}
/* Narrow grid cards cannot fit a portrait beside an unbroken profession.
   Adapt to the card width, rather than adding a different rule per page. */
@container(max-width:170px) {
  body .mkt-card[data-card-kind="expert"] .mkt-expert-person {
    flex-direction:column !important; align-items:center !important; gap:8px !important;
  }
  body .mkt-card[data-card-kind="expert"] .mkt-expert-identity { flex:0 0 auto !important; width:100% !important; align-items:center; }
  body .mkt-card[data-card-kind="expert"] .mkt-expert-meta { justify-content:center; }
  body .mkt-card[data-card-kind="expert"] .mkt-expert-status { align-self:center; }
}
.mkt-card { transition:background-color 220ms ease, box-shadow 220ms ease; }
.mkt-card:not([data-card-kind="expert"]) [data-card-media] { transition:transform 280ms ease; }
.mkt-card [data-card-title] { transition:color 220ms ease; }
/* Zodiac cards react through their artwork; keep the resting card skin.
   Overflow allows the small lift without cutting off the sign at the top. */
body .zcn-sign-card.mkt-card { overflow:visible; }
body .zcn-sign-card.mkt-card .zcn-sign-art { transition:transform 260ms ease; }
.ne404-mobile-nav .mkt-menu-close { align-self:flex-end; margin-left:auto; width:40px; height:40px; border:0; border-radius:50%; color:#101010; background:#efeaff; font-size:26px; line-height:1; cursor:pointer; }
.mkt-card:focus-within { box-shadow:0 14px 32px -18px rgba(73,39,144,.32), inset 0 0 0 1px rgba(118,83,217,.3); }
/* Expert feedback stays on the frame, so portraits and layout remain still.
   The inner glow survives slider clipping; the outer shadow separates a white
   card from gray/lilac sections. No background change obscures image cards. */
body .mkt-card[data-card-kind="expert"] {
  --expert-card-highlight:0 10px 26px -10px rgba(73,39,144,.3), inset 0 0 0 1px rgba(118,83,217,.55), inset 0 0 32px rgba(118,83,217,.065);
}
body .mkt-card[data-card-kind="expert"] [data-card-media] { transition:none; }
body .mkt-card[data-card-kind="expert"] :is([data-card-media],[class*="avatar"],[class*="photo"]) {
  transform:none !important; transition:none !important;
}
/* Native page adapters have stronger selectors that set box-shadow:none.
   Override only the active shared interaction, leaving resting skins intact. */
body .mkt-card[data-card-kind="expert"]:focus-within { box-shadow:var(--expert-card-highlight) !important; }
/* Retire the old expanding outline in native expert layout adapters. */
body .experts-section__card.mkt-card[data-card-kind="expert"]::after { display:none; }
@media(hover:hover) and (pointer:fine) {
  .mkt-card:not(.zcn-sign-card):hover { box-shadow:0 14px 32px -18px rgba(73,39,144,.32), inset 0 0 0 1px rgba(118,83,217,.3); }
  body .mkt-card[data-card-kind="expert"]:hover { box-shadow:var(--expert-card-highlight) !important; }
  .mkt-card[data-card-kind="expert"]:hover [data-card-title] { color:#5c35b7; }
  .mkt-card[data-card-kind="review"]:hover { box-shadow:inset 0 0 0 1px rgba(139,101,223,.45),inset 0 0 24px rgba(139,101,223,.08); }
  .mkt-card[data-card-kind="review"][data-card-tone="purple"]:hover { background-color:#6c48cb; }
  .mkt-card[data-card-tone="purple"]:hover { box-shadow:inset 0 0 0 1px rgba(255,255,255,.58),inset 0 0 24px rgba(255,255,255,.07); }
  .mkt-card[data-card-kind="benefit"]:not([data-card-tone="purple"]):hover { background-color:rgba(122,84,216,.055); box-shadow:inset 0 0 0 1px rgba(122,84,216,.16); }
  .mkt-card[data-card-kind="benefit"]:hover [data-card-media] { transform:rotate(6deg); }
  .mkt-card[data-card-kind="benefit"]:hover [data-card-title] { color:#7447c5; }
  .mkt-card[data-card-kind="topic"]:not(.zcn-sign-card):hover { background-color:#f7f2ff; box-shadow:inset 0 0 0 1px #9c7ce8,0 12px 28px -20px rgba(80,43,158,.3); }
  .mkt-card[data-card-kind="topic"]:not(.zcn-sign-card):hover [data-card-media] { transform:scale(1.035); }
  body .zcn-sign-card.mkt-card:hover .zcn-sign-art { transform:translateY(-6px); }
  .mkt-card[data-card-style="promo"][data-card-tone="purple"]:hover { box-shadow:inset 0 0 0 1px rgba(255,255,255,.64),0 14px 30px -20px rgba(74,40,150,.4); }
  body .mkt-disclosure__toggle:hover .mkt-disclosure__icon { background:#e8dcff; color:#6132bc; }
}
@media(prefers-reduced-motion:reduce) {
  body .zcn-sign-card.mkt-card .zcn-sign-art { transition:none !important; transform:none !important; }
  .mkt-card, .mkt-card [data-card-media], .mkt-card [data-card-title], .mkt-disclosure__icon { transition:none !important; }
  .mkt-card [data-card-media] { transform:none !important; }
  body .mkt-expert-card :is(.c-btn--primary,.lov-expert-card__cta,.aura-expert-card__cta,.pp-expert-card__cta,.blog-advisor__cta,.cheap-expert-card__cta) { transition:none !important; }
}
