/* v37: homepage only. Existing account, navigation and fortune hooks remain intact. */
.xj-home-page { --home-muted: #b9ae9b; --home-line: rgba(222, 195, 125, .17); --home-gold: #e8ce88; }
.xj-home-page .xj-home-hero { padding: 76px 0 66px; text-align: left; overflow: hidden; }
.xj-home-page .xj-home-hero::before { inset: 0; height: auto; background: radial-gradient(ellipse at 70% 40%, rgba(187, 133, 51, .085), transparent 61%); pointer-events: none; }
.xj-home-hero-layout { display: grid; grid-template-columns: .93fr 1.07fr; align-items: center; gap: clamp(32px, 5vw, 72px); position: relative; }
.xj-home-intro { min-width: 0; }
.xj-home-eyebrow { color: #c8ac69; font-size: .72rem; letter-spacing: .16em; line-height: 1.6; margin: 0 0 16px; }
.xj-home-page .xj-home-hero h1 { font-size: clamp(2.5rem, 4.3vw, 3.7rem); line-height: 1.28; letter-spacing: .065em; color: #f5ebd3; margin: 0 0 24px; text-wrap: balance; }
.xj-home-page .xj-home-hero h1 span { color: var(--home-gold); }
.xj-home-subtitle { color: var(--home-muted); font-size: 1rem; line-height: 1.95; max-width: 26em; margin-bottom: 30px; }
.xj-home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; }
.xj-home-actions .btn { min-height: 50px; gap: 22px; }
.xj-home-browse { display: inline-flex; align-items: center; justify-content: center; gap: 14px; font-size: .87rem; min-height: 44px; color: #d6c8ad; }
.xj-home-browse:hover { color: #fff1cb; }
.xj-home-small-note { color: var(--home-muted); font-size: .72rem; margin-top: 16px; letter-spacing: .035em; }
.xj-home-preview { --preview-accent: #e6ce8b; --preview-tint: rgba(218, 183, 92, .07); position: relative; border: 1px solid var(--home-line); border-radius: 24px; padding: 24px; background: radial-gradient(ellipse at 100% 0, var(--preview-tint), transparent 66%), #12110e; box-shadow: 0 24px 75px -45px #000, inset 0 1px 0 rgba(255, 245, 218, .035); min-width: 0; }
.xj-home-preview::after { content: ''; position: absolute; inset: 9px; border: 1px solid rgba(224, 195, 132, .06); border-radius: 17px; pointer-events: none; }
.xj-home-preview[data-xj-preview-theme="tarot"] { --preview-accent: #c7b7ed; --preview-tint: rgba(146, 109, 187, .13); }
.xj-home-preview[data-xj-preview-theme="blessing"] { --preview-accent: #e8b59a; --preview-tint: rgba(186, 106, 76, .12); }
.xj-home-preview [hidden] { display: none !important; }
.xj-home-preview-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 17px; }
.xj-home-preview-head p { font-size: .8rem; color: #ded0b3; }
.xj-home-example-badge { border: 1px solid rgba(232, 203, 135, .23); border-radius: 5px; padding: 3px 7px; color: #cbb684; font-size: .63rem; white-space: nowrap; letter-spacing: .04em; }
.xj-home-tabs { display: flex; gap: 4px; padding: 4px; background: rgba(0, 0, 0, .25); border: 1px solid rgba(223, 196, 137, .1); border-radius: 10px; margin-bottom: 22px; }
.xj-home-tabs button { flex: 1; border: 1px solid transparent; background: transparent; color: var(--home-muted); min-height: 44px; border-radius: 7px; font: inherit; font-size: .8rem; cursor: pointer; }
.xj-home-tabs button[aria-selected="true"] { color: var(--preview-accent); border-color: rgba(235, 209, 152, .16); background: #29241b; box-shadow: 0 2px 7px #0003; }
.xj-home-preview[data-xj-preview-theme="tarot"] .xj-home-tabs button[aria-selected="true"] { background: #272130; }
.xj-home-preview[data-xj-preview-theme="blessing"] .xj-home-tabs button[aria-selected="true"] { background: #30221c; }
.xj-home-preview-panel { min-height: 281px; }
.xj-home-result-heading h2 { color: #eddfc0; font-family: var(--font-serif); font-size: 1.13rem; font-weight: 500; line-height: 1.5; margin: 0 0 4px; }
.xj-home-result-heading p { font-size: .71rem; color: var(--home-muted); }
.xj-home-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 17px 0 18px; }
.xj-home-pillar { background: #1a1812; border: 1px solid rgba(219, 190, 121, .12); padding: 11px 4px 8px; border-radius: 8px; text-align: center; }
.xj-home-pillar > span { font-size: .68rem; color: var(--home-muted); }
.xj-home-pillar strong { display: block; font-family: 'Songti SC', 'STSong', serif; font-weight: 400; font-size: 1.9rem; line-height: 1.4; color: #dfca95; margin: 5px 0; }
.xj-home-pillar small { display: block; color: #b8aa91; font-size: .59rem; letter-spacing: .025em; }
.xj-home-pillar-day { background: linear-gradient(150deg, #39301d, #242014); border-color: rgba(232, 196, 106, .44); }
.xj-home-pillar-day strong { color: #f4d986; }
.xj-home-elements-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: .65rem; color: var(--home-muted); }
.xj-home-elements-head strong { color: #e0c784; font-size: .67rem; font-weight: 500; }
.xj-home-elements { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 9px; }
.xj-home-element { --element: #bdc39c; min-width: 0; font-size: .65rem; color: #c1b6a3; }
.xj-home-element i { display: block; height: 4px; border-radius: 5px; background: #ffffff0e; overflow: hidden; margin-top: 5px; }
.xj-home-element b { display: block; height: 100%; border-radius: 5px; background: var(--element); }
.xj-home-element-fire { --element: #ca8472; }
.xj-home-element-earth { --element: #cbb173; }
.xj-home-element-metal { --element: #cfc3a8; }
.xj-home-element-water { --element: #85a7b8; }
.xj-home-preview-note { text-align: center; color: #ad9f86; font-size: .65rem; border-top: 1px solid var(--home-line); margin: 18px 0 0; padding-top: 12px; line-height: 1.6; }
.xj-home-tarot-spread { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.xj-home-card-slot > span { display: block; text-align: center; font-size: .65rem; color: #baadc9; margin-bottom: 8px; }
.xj-home-tarot-card { position: relative; border: 1px solid #9780ab77; border-radius: 9px; padding: 10px 7px 11px; text-align: center; background: radial-gradient(ellipse at 50% 40%, #49355777, transparent), #201927; color: #dbc4a0; box-shadow: inset 0 0 0 4px #19131d, inset 0 0 0 5px #9780ab33; }
.xj-home-tarot-card small { color: #bda4d1; font-size: .55rem; letter-spacing: .12em; }
.xj-home-tarot-card svg { display: block; width: 100%; max-height: 129px; margin: 2px auto; }
.xj-home-tarot-card b { font-family: var(--font-serif); font-weight: 500; font-size: .75rem; }
.xj-home-result-caption { margin-top: 18px; text-align: center; }
.xj-home-result-caption h2 { font-family: var(--font-serif); font-weight: 500; font-size: 1.03rem; color: var(--preview-accent); margin-bottom: 4px; }
.xj-home-result-caption p { color: var(--home-muted); font-size: .71rem; line-height: 1.65; }
.xj-home-blessing-note { position: relative; text-align: center; background: linear-gradient(145deg, #d2bda1, #ead9bb 45%, #d5bc95); color: #483425; border-radius: 6px; padding: 15px 12px 18px; box-shadow: 0 6px 18px #0004; }
.xj-home-blessing-note::before { content: ''; position: absolute; inset: 7px; border: 1px solid #79593444; pointer-events: none; }
.xj-home-blessing-note > span { font-size: .59rem; letter-spacing: .16em; color: #745c41; }
.xj-home-blessing-ornament { font-size: 1.35rem; color: #98794d; line-height: 1.4; }
.xj-home-blessing-note blockquote { margin: 3px 0 12px; font-size: 1.6rem; line-height: 1.6; letter-spacing: .1em; font-family: var(--font-serif); }
.xj-home-blessing-note p { font-size: .61rem; color: #7b6041; letter-spacing: .04em; }
.xj-home-blessing-note i { position: absolute; right: 16px; bottom: 16px; font: normal .7rem 'Songti SC', serif; border: 1px solid #a35843; color: #9d4b38; padding: 1px 3px; border-radius: 2px; transform: rotate(-6deg); }
.xj-home-services { padding: 32px 0 52px; scroll-margin-top: 90px; }
.xj-home-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 27px; }
.xj-home-section-head .xj-home-eyebrow { margin-bottom: 8px; }
.xj-home-section-head h2 { font-family: var(--font-serif); font-size: 1.8rem; line-height: 1.4; color: #eddfc0; font-weight: 500; letter-spacing: .04em; }
.xj-home-section-head > p { color: var(--home-muted); font-size: .84rem; padding-bottom: 3px; max-width: 26em; }
.xj-home-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.xj-home-service { --service-accent: #d9bd76; --service-tint: rgba(217, 189, 118, .07); display: block; position: relative; border: 1px solid rgba(215, 194, 142, .13); border-radius: 15px; padding: 23px 21px 22px; background: radial-gradient(ellipse at 0 0, var(--service-tint), transparent 75%), #12110e; min-width: 0; transition: border-color .2s, transform .2s; }
.xj-home-service:hover { border-color: var(--service-accent); transform: translateY(-3px); color: #f2e7ce; }
.xj-home-service-face { --service-accent: #c0bca0; --service-tint: rgba(163, 179, 124, .07); }
.xj-home-service-directions { --service-accent: #95b4ab; --service-tint: rgba(98, 165, 143, .08); }
.xj-home-service-naming { --service-accent: #b3bad0; --service-tint: rgba(147, 160, 198, .08); }
.xj-home-service-dates { --service-accent: #d2ad7b; --service-tint: rgba(183, 127, 60, .08); }
.xj-home-service-tarot { --service-accent: #bda5d9; --service-tint: rgba(148, 109, 189, .09); }
.xj-home-service-compatibility { --service-accent: #d29f9b; --service-tint: rgba(190, 104, 101, .08); }
.xj-home-service-blessing { --service-accent: #d4aa87; --service-tint: rgba(197, 119, 66, .1); }
.xj-home-service-symbol { display: flex; align-items: center; color: var(--service-accent); margin-bottom: 19px; }
.xj-home-service-symbol svg { width: 32px; height: 32px; }
.xj-home-service h3 { font-family: var(--font-serif); color: #ece0c7; font-weight: 500; font-size: 1.12rem; letter-spacing: .035em; margin-bottom: 7px; line-height: 1.4; }
.xj-home-service p { color: var(--home-muted); font-size: .78rem; line-height: 1.75; }
.xj-home-service-arrow { position: absolute; top: 22px; right: 20px; font-size: .85rem; color: var(--service-accent); opacity: .8; }
.xj-home-account { margin: 0 0 56px; }
.xj-home-account-inner { display: flex; align-items: center; gap: 25px; border: 1px solid var(--home-line); border-radius: 15px; padding: 28px; background: linear-gradient(110deg, #b78d3e09, transparent); }
.xj-home-account-mark { flex: 0 0 56px; width: 56px; height: 56px; display: grid; place-items: center; color: #c8ad71; border: 1px solid var(--home-line); border-radius: 50%; }
.xj-home-account-mark svg { width: 27px; height: 27px; }
.xj-home-account .xj-home-eyebrow { margin-bottom: 7px; font-size: .65rem; }
.xj-home-account-inner > div { flex: 1; }
.xj-home-account h2 { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 500; color: #e9d9b5; margin-bottom: 6px; }
.xj-home-account-inner > div > p:last-child { color: var(--home-muted); font-size: .78rem; line-height: 1.8; max-width: 47em; }
.xj-home-account .btn { flex-shrink: 0; font-size: .8rem; min-height: 44px; }
body.xj-home-page.xj-authed .xj-home-account, body.xj-home-page.xj-logged .xj-home-account { display: none; }
.xj-home-perspective { margin-bottom: 56px; }
.xj-home-perspective-inner { display: flex; justify-content: space-between; gap: 44px; border-top: 1px solid var(--home-line); padding-top: 38px; }
.xj-home-perspective .xj-home-eyebrow { margin-bottom: 8px; }
.xj-home-perspective h2 { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 500; color: #dfd0ad; margin-bottom: 10px; }
.xj-home-perspective-inner > div > p:last-child { font-size: .83rem; color: var(--home-muted); max-width: 43em; line-height: 1.85; }
.xj-home-editorial-links { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; flex-shrink: 0; min-width: 150px; }
.xj-home-editorial-links a { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; gap: 30px; font-size: .8rem; border-bottom: 1px solid var(--home-line); color: #d2bd8b; }
.xj-home-footer { border-top: 1px solid var(--home-line); background: #090806; padding: 40px 0 22px; }
.xj-home-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 32px; padding-bottom: 35px; }
.xj-home-footer-brand > a { font-family: var(--font-serif); font-size: 1.5rem; color: #dfc98e; letter-spacing: .09em; }
.xj-home-footer-brand p { font-size: .77rem; color: var(--home-muted); margin-top: 10px; line-height: 1.85; }
.xj-home-footer-grid > div > h2 { font-size: .75rem; font-weight: 500; color: #cab58b; margin-bottom: 7px; }
.xj-home-footer-grid > div:not(.xj-home-footer-brand) > a { display: flex; align-items: center; min-height: 44px; width: fit-content; font-size: .75rem; color: var(--home-muted); }
.xj-home-footer a:hover { color: #f1d69b; }
.xj-home-footer-bottom { border-top: 1px solid var(--home-line); padding-top: 17px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 7px 20px; font-size: .65rem; color: #a99b83; }
html[lang="en"] .xj-home-page .xj-home-hero h1 { font-size: clamp(2.45rem, 3.6vw, 3.2rem); line-height: 1.24; letter-spacing: -.025em; }
html[lang="en"] .xj-home-eyebrow { font-size: .65rem; letter-spacing: .115em; }
html[lang="en"] .xj-home-subtitle { line-height: 1.85; font-size: .94rem; }
html[lang="en"] .xj-home-preview-head p { font-size: .73rem; }
html[lang="en"] .xj-home-example-badge { font-size: .6rem; }
html[lang="en"] .xj-home-service h3 { font-size: 1.08rem; letter-spacing: 0; }
html[lang="en"] .xj-home-blessing-note blockquote { font-size: 1.28rem; line-height: 1.7; letter-spacing: 0; margin: 7px 0 15px; }
html[lang="en"] .xj-home-blessing-note i { bottom: 11px; right: 11px; }
html[lang="en"] .xj-home-preview-panel { min-height: 289px; }
@media (max-width: 1000px) {
  .xj-home-page .xj-home-hero { padding: 49px 0 38px; }
  .xj-home-hero-layout { gap: 32px; grid-template-columns: .9fr 1.1fr; }
  .xj-home-page .xj-home-hero h1 { font-size: 2.5rem; }
  .xj-home-preview { padding: 21px; }
  .xj-home-preview-head { flex-wrap: wrap; gap: 6px; }
  .xj-home-service { padding: 21px 16px; }
  .xj-home-service h3 { font-size: 1rem; }
  html[lang="en"] .xj-home-service h3 { font-size: 1rem; }
  .xj-home-account-inner { gap: 18px; padding: 24px; }
  .xj-home-account-mark { display: none; }
}
@media (max-width: 760px) {
  .xj-home-page .container { width: calc(100% - 36px); }
  .xj-home-page .xj-home-hero { padding: 34px 0 20px; }
  .xj-home-hero-layout { display: grid; grid-template-columns: 1fr; gap: 29px; }
  .xj-home-intro { text-align: center; }
  .xj-home-eyebrow { font-size: .66rem; margin-bottom: 13px; }
  .xj-home-page .xj-home-hero h1 { font-size: clamp(2.3rem, 9vw, 3rem); line-height: 1.27; letter-spacing: .065em; margin-bottom: 16px; }
  .xj-home-subtitle { font-size: .87rem; line-height: 1.85; max-width: 28em; margin: 0 auto 22px; }
  .xj-home-actions { justify-content: center; gap: 2px; flex-direction: column; }
  .xj-home-actions .btn { min-height: 48px; width: min(100%, 320px); font-size: .9rem; }
  .xj-home-browse { font-size: .77rem; min-height: 44px; }
  .xj-home-small-note { margin: 1px 0 0; font-size: .66rem; }
  .xj-home-preview { width: 100%; max-width: 470px; margin-inline: auto; border-radius: 18px; padding: 20px; }
  .xj-home-preview::after { inset: 6px; border-radius: 13px; }
  .xj-home-preview-head { flex-wrap: nowrap; margin-bottom: 13px; gap: 8px; }
  .xj-home-preview-head p { font-size: .72rem; }
  .xj-home-tabs { margin-bottom: 17px; }
  .xj-home-tabs button { min-height: 44px; font-size: .76rem; }
  .xj-home-preview-panel { min-height: 270px; }
  .xj-home-result-heading h2 { font-size: 1.08rem; }
  .xj-home-result-heading p { font-size: .65rem; }
  .xj-home-pillars { gap: 7px; margin: 14px 0 17px; }
  .xj-home-pillar strong { font-size: 1.75rem; }
  .xj-home-pillar small { font-size: .56rem; }
  .xj-home-elements { gap: 10px; }
  .xj-home-preview-note { margin-top: 13px; padding-top: 10px; font-size: .61rem; }
  .xj-home-tarot-spread { gap: 10px; }
  .xj-home-tarot-card { padding-inline: 4px; }
  .xj-home-tarot-card svg { max-height: 118px; }
  .xj-home-tarot-card b { font-size: .72rem; }
  .xj-home-result-caption p { font-size: .69rem; }
  .xj-home-blessing-note blockquote { font-size: 1.6rem; }
  .xj-home-services { padding: 22px 0 30px; scroll-margin-top: 85px; }
  .xj-home-section-head { display: block; margin-bottom: 19px; }
  .xj-home-section-head .xj-home-eyebrow { margin-bottom: 6px; font-size: .64rem; }
  .xj-home-section-head h2 { font-size: 1.45rem; }
  .xj-home-section-head > p { font-size: .77rem; margin-top: 8px; line-height: 1.8; }
  .xj-home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .xj-home-service { padding: 18px 15px 16px; border-radius: 12px; }
  .xj-home-service-symbol { margin-bottom: 13px; }
  .xj-home-service-symbol svg { width: 29px; height: 29px; }
  .xj-home-service h3 { font-size: 1rem; margin-bottom: 6px; }
  .xj-home-service p { font-size: .73rem; line-height: 1.7; }
  .xj-home-service-arrow { top: 17px; right: 14px; font-size: .8rem; }
  .xj-home-account { margin-bottom: 34px; }
  .xj-home-account-inner { display: block; padding: 22px; }
  .xj-home-account h2 { font-size: 1.15rem; }
  .xj-home-account-inner > div > p:last-child { font-size: .75rem; }
  .xj-home-account .btn { margin-top: 17px; min-height: 44px; width: 100%; }
  .xj-home-perspective { margin-bottom: 32px; }
  .xj-home-perspective-inner { display: block; padding-top: 25px; }
  .xj-home-perspective h2 { font-size: 1.35rem; }
  .xj-home-perspective-inner > div > p:last-child { font-size: .77rem; }
  .xj-home-editorial-links { flex-direction: row; gap: 22px; margin-top: 15px; flex-wrap: wrap; }
  .xj-home-editorial-links a { width: auto; font-size: .73rem; gap: 12px; }
  .xj-home-footer { padding: 30px 0 max(22px, env(safe-area-inset-bottom)); }
  .xj-home-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-bottom: 24px; }
  .xj-home-footer-brand { grid-column: 1 / -1; }
  .xj-home-footer-brand > a { font-size: 1.3rem; }
  .xj-home-footer-brand p { font-size: .73rem; }
  .xj-home-footer-grid > div:not(.xj-home-footer-brand) > a { min-height: 44px; }
  .xj-home-footer-bottom { font-size: .6rem; }
  html[lang="en"] .xj-home-page .xj-home-hero h1 { font-size: clamp(2.3rem, 8.9vw, 3rem); line-height: 1.23; letter-spacing: -.03em; }
  html[lang="en"] .xj-home-subtitle { font-size: .85rem; max-width: 29em; }
  html[lang="en"] .xj-home-preview-head p { font-size: .67rem; }
  html[lang="en"] .xj-home-example-badge { font-size: .55rem; }
  html[lang="en"] .xj-home-service h3 { font-size: .98rem; }
  html[lang="en"] .xj-home-service p { font-size: .7rem; }
  html[lang="en"] .xj-home-blessing-note blockquote { font-size: 1.13rem; }
  html[lang="en"] .xj-home-preview-panel { min-height: 280px; }
  body.xj-home-page.xj-logged .xj-home-hero { padding-top: 23px; }
  body.xj-home-page.xj-logged .xj-home-hero-layout { gap: 0; }
  body.xj-home-page.xj-logged .xj-home-preview { display: none; }
  body.xj-home-page.xj-logged .xj-home-intro .xj-home-eyebrow, body.xj-home-page.xj-logged .xj-home-subtitle, body.xj-home-page.xj-logged .xj-home-small-note { display: none; }
  body.xj-home-page.xj-logged .xj-home-hero h1 { font-size: 1.65rem; margin-bottom: 15px; }
  body.xj-home-page.xj-logged .xj-home-hero h1 br { display: none; }
  body.xj-home-page.xj-logged .xj-home-actions { flex-direction: row; gap: 13px; }
  body.xj-home-page.xj-logged .xj-home-actions .btn { width: auto; min-height: 44px; font-size: .79rem; }
}
@media (max-width: 359px) {
  .xj-home-page .container { width: calc(100% - 28px); }
  .xj-home-preview { padding: 16px; }
  .xj-home-preview-head p { font-size: .67rem; }
  .xj-home-preview-head { gap: 5px; }
  .xj-home-example-badge { font-size: .57rem; padding: 3px 5px; }
  .xj-home-pillars { gap: 5px; }
  .xj-home-pillar strong { font-size: 1.55rem; }
  .xj-home-tarot-spread { gap: 7px; }
  .xj-home-tarot-card b { font-size: .65rem; }
  .xj-home-service { padding: 16px 12px; }
  html[lang="en"] .xj-home-preview-head p { font-size: .6rem; }
  html[lang="en"] .xj-home-service h3 { font-size: .9rem; }
  html[lang="en"] .xj-home-blessing-note blockquote { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .xj-home-page .xj-home-service { transition: none; }
  .xj-home-page .xj-home-service:hover { transform: none; }
}

/* Preserve usable targets for the existing signed-in daily fortune. */
.xj-home-page .header-inner > .logo { flex-shrink: 0; }
.xj-home-page .header-tools { min-width: 0; flex-shrink: 1; }
.xj-home-page .header-tools .nav-auth-btn { min-width: 44px; flex-shrink: 1; }
.xj-home-page .header-tools .xj-weather-chip { flex-shrink: 0; }
.xj-home-page .xj-home-fortune #xj-cal-toggle, .xj-home-page .xj-home-fortune #xj-checkin-btn, .xj-home-page .xj-home-fortune .xj-cal-nav { min-height: 44px; min-width: 44px; }
@media (max-width: 359px) {
  .xj-home-page .header-inner { gap: .4rem; }
  .xj-home-page .header-tools { gap: .25rem; }
  html[lang="en"] .xj-home-page .en-header .logo { font-size: 1rem; gap: .4rem; }
  .xj-home-page .logo-mark { width: 30px; height: 30px; flex-shrink: 0; }
  .xj-home-page .en-header .xj-weather-chip { padding-inline: .35rem; gap: 0; }
  .xj-home-page .en-header .xj-weather-chip .xj-w-icon { display: none; }
}
/* Keep full service names readable before the wide desktop layout fits. */
@media (min-width: 1101px) and (max-width: 1399px) {
  .xj-home-page .en-header .nav-toggle { display: inline-flex; }
  .xj-home-page .en-header .en-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: .1rem; padding: .55rem .7rem .85rem; background: rgba(10, 8, 6, .97); border-bottom: 1px solid var(--home-line); max-height: min(75vh, calc(100dvh - 4.5rem)); overflow-y: auto; z-index: 95; }
  .xj-home-page .en-header .en-nav.open { display: flex; }
  .xj-home-page .en-header .en-nav a { display: flex; align-items: center; min-height: 44px; padding: .65rem .8rem; font-size: .95rem; white-space: normal; }
  .xj-home-page .en-header .en-nav .lang { align-self: flex-start; margin-left: 0; margin-top: .35rem; }
}
@media (min-width: 1400px) {
  .xj-home-page .en-header .header-inner { width: min(calc(100% - 40px), 1480px); gap: .6rem; }
  .xj-home-page .en-header .en-nav { gap: .05rem; }
  .xj-home-page .en-header .en-nav a { white-space: nowrap; padding-inline: .5rem; }
}
@media (max-width: 359px) {
  html[lang="en"] .xj-home-page .xj-home-hero h1 { font-size: 1.9rem; letter-spacing: -.035em; }
  .xj-home-page .en-header .header-tools .nav-auth-btn { max-width: 84px; }
}

/* v43 star sign entry */
.xj-home-service-zodiac { --service-accent: #d9c18e; }
.xj-home-service-mbti {
  --service-accent: #b5d8c8;
  --service-tint: rgba(125, 190, 162, .1);
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: clamp(18px, 4vw, 46px);
  padding: clamp(22px, 3.5vw, 36px);
  background: radial-gradient(ellipse at 100% 0%, rgba(164, 149, 197, .12), transparent 60%), radial-gradient(ellipse at 0 90%, rgba(125, 190, 162, .1), transparent 55%), #131510;
}
.xj-home-mbti-symbol { color: #b5d8c8; display: block; flex: 0 0 92px; }
.xj-home-mbti-symbol svg { display: block; width: 100%; height: auto; transition: transform .5s ease; }
.xj-home-service-mbti:hover .xj-home-mbti-symbol svg { transform: rotate(12deg); }
.xj-home-mbti-copy { min-width: 0; padding-right: 18px; }
.xj-home-mbti-kicker { display: block; color: #b5d8c8; font-size: .65rem; letter-spacing: .14em; margin-bottom: 9px; }
.xj-home-service-mbti h3 { font-size: clamp(1.2rem, 2.2vw, 1.7rem); }
.xj-home-service-mbti p { max-width: 64em; }
.xj-home-mbti-chips { display: flex; flex-wrap: wrap; gap: 8px 16px; color: #c2baa7; margin-top: 13px; font-size: .7rem; }
.xj-home-mbti-chips span::before { content: '·'; color: #b5d8c8; padding-right: 6px; }
@media (max-width: 800px) {
  .xj-home-service-mbti ~ .xj-home-service:last-child { grid-column: 1 / -1; }
  .xj-home-mbti-symbol { flex-basis: 58px; }
}
@media (max-width: 400px) {
  .xj-home-service-mbti { align-items: flex-start; gap: 14px; padding: 20px 16px; }
  .xj-home-mbti-symbol { flex-basis: 38px; }
  .xj-home-mbti-copy { padding-right: 6px; }
  .xj-home-mbti-chips { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .xj-home-mbti-symbol svg { transition: none; } .xj-home-service-mbti:hover .xj-home-mbti-symbol svg { transform: none; } }
@media (max-width: 800px) { .xj-home-service-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; } }
