/* Shared entry composition for the charting tools. */
.hepan-shell:not(.tool-result-shell),.ziwei-shell:not(.tool-result-shell){width:min(100% - 40px,1240px);max-width:1240px;padding:64px 0 76px}
.hepan-entry-layout,.ziwei-entry-layout{position:relative;display:grid;align-items:center;min-height:650px;gap:clamp(42px,6vw,84px)}
.hepan-entry-layout{grid-template-columns:minmax(300px,.76fr) minmax(680px,1.32fr)}
.ziwei-entry-layout{grid-template-columns:minmax(300px,.88fr) minmax(540px,1.12fr)}
.hepan-entry-layout::before,.ziwei-entry-layout::before{position:absolute;z-index:0;top:50%;left:-214px;width:620px;height:620px;transform:translateY(-50%);border:1px solid rgba(167,129,62,.11);border-radius:50%;background:linear-gradient(90deg,transparent 49.9%,rgba(167,129,62,.08) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(167,129,62,.08) 50%,transparent 50.1%),radial-gradient(circle,transparent 32%,rgba(167,129,62,.06) 32.2%,transparent 32.5%,transparent 48%,rgba(167,129,62,.06) 48.2%,transparent 48.5%);content:"";pointer-events:none}

/* Alternative single-chart tools keep the familiar bazi stage, with shorter tool-specific titles. */
.stage-copy.is-tool-intro h1{max-width:460px;font-size:clamp(46px,4.9vw,62px);letter-spacing:.03em}
.stage-copy.is-tool-intro>p:not(.eyebrow){max-width:410px}

/* Paired chart: communicate the reading scope once, instead of stacking sales cards. */
.hepan-entry-copy{position:relative;z-index:1;padding:18px 0 18px 20px}
.hepan-entry-layout .hepan-hero{max-width:none;margin:0;text-align:left}
.hepan-entry-layout .hepan-kicker{font-size:11px;font-weight:600;letter-spacing:.22em}
.hepan-entry-layout .hepan-kicker::before{display:inline-block;width:26px;height:1px;margin:0 10px 3px 0;background:var(--hp-gold);content:""}
.hepan-entry-layout .hepan-hero h1{max-width:390px;margin:22px 0 17px;font-size:clamp(42px,4.35vw,58px);letter-spacing:.025em}
.hepan-entry-layout .hepan-hero>p:not(.hepan-kicker){max-width:390px;margin:0;color:#6f756f;font-size:14px;line-height:2}
.hepan-entry-layout .hepan-hero-points{justify-content:flex-start;gap:8px;margin-top:28px}
.hepan-entry-layout .hepan-hero-points span{padding:7px 11px;border-color:rgba(167,129,62,.28);background:rgba(255,254,250,.6);font-size:11px}
.hepan-entry-summary{max-width:390px;margin-top:26px;padding-top:16px;border-top:1px solid rgba(167,129,62,.22)}
.hepan-entry-summary>p{margin:0 0 10px;color:#a1782e;font-size:11px;font-weight:600;letter-spacing:.12em}
.hepan-entry-summary ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.hepan-entry-summary li{display:grid;grid-template-columns:79px minmax(0,1fr);gap:10px;align-items:baseline;color:#7a8079;font-size:11px;line-height:1.55}
.hepan-entry-summary b{color:#3f4a40;font-size:12px}
.hepan-entry-summary span{min-width:0}
.hepan-entry-layout .hepan-form-card{position:relative;z-index:1;min-width:0;margin:0;padding:28px}
.hepan-entry-layout .hepan-form{grid-template-columns:1fr;gap:14px}

/* Zi Wei uses the same rhythm, while retaining a small twelve-palace ornament. */
.ziwei-entry-layout .ziwei-hero{position:relative;z-index:1;display:block;min-height:0;padding:18px 132px 18px 20px;border:0}
.ziwei-entry-layout .ziwei-kicker{font-size:11px;font-weight:600;letter-spacing:.22em}
.ziwei-entry-layout .ziwei-kicker::before{display:inline-block;width:26px;height:1px;margin:0 10px 3px 0;background:var(--zw-gold);content:""}
.ziwei-entry-layout .ziwei-hero h1{max-width:370px;margin:22px 0 17px;font-size:clamp(42px,4.35vw,56px);letter-spacing:.025em}
.ziwei-entry-layout .ziwei-hero-copy>p:not(.ziwei-kicker){max-width:370px;color:#6f756f;font-size:14px;line-height:2}
.ziwei-entry-layout .ziwei-hero-tags{margin-top:27px}
.ziwei-entry-layout .ziwei-hero-tags span{padding:7px 11px;background:rgba(255,254,250,.6)}
.ziwei-entry-layout .ziwei-hero-orbit{position:absolute;right:-38px;bottom:10px;width:176px;height:176px;padding:5px;opacity:.84;box-shadow:0 12px 28px rgba(89,68,31,.06)}
.ziwei-entry-layout .ziwei-hero-orbit span{font-size:10px}
.ziwei-entry-layout .ziwei-hero-orbit i{font-size:15px}
.ziwei-entry-layout .ziwei-form-card{position:relative;z-index:1;min-width:0;margin:0;padding:28px}

@media(max-width:1120px){
  .hepan-shell:not(.tool-result-shell),.ziwei-shell:not(.tool-result-shell){width:min(100% - 34px,980px);padding-top:42px}
  .hepan-entry-layout,.ziwei-entry-layout{grid-template-columns:1fr;min-height:0;gap:32px}
  .hepan-entry-layout::before,.ziwei-entry-layout::before{top:210px;left:-310px;width:560px;height:560px}
  .hepan-entry-copy{max-width:760px;padding:10px 16px}
  .hepan-entry-summary{max-width:520px}
  .hepan-entry-layout .hepan-form-card,.ziwei-entry-layout .ziwei-form-card{padding:28px}
  .ziwei-entry-layout .ziwei-hero{max-width:760px;padding:10px 210px 10px 16px}
  .ziwei-entry-layout .ziwei-hero h1,.ziwei-entry-layout .ziwei-hero-copy>p:not(.ziwei-kicker){max-width:500px}
  .ziwei-entry-layout .ziwei-hero-orbit{right:14px;bottom:10px;width:180px;height:180px}
}
@media(max-width:720px){
  .hepan-shell:not(.tool-result-shell),.ziwei-shell:not(.tool-result-shell){width:min(100% - 24px,620px);padding:31px 0 58px}
  .hepan-entry-layout,.ziwei-entry-layout{gap:25px}
  .hepan-entry-layout::before,.ziwei-entry-layout::before{display:none}
  .stage-copy.is-tool-intro h1{max-width:100%;font-size:clamp(42px,11vw,54px)}
  .hepan-entry-copy{padding:0 2px}
  .hepan-entry-layout .hepan-hero h1,.ziwei-entry-layout .ziwei-hero h1{margin-top:14px;font-size:40px}
  .hepan-entry-layout .hepan-hero>p:not(.hepan-kicker),.ziwei-entry-layout .ziwei-hero-copy>p:not(.ziwei-kicker){font-size:13px;line-height:1.8}
  .hepan-entry-summary{margin-top:22px;padding-top:14px}
  .hepan-entry-summary li{grid-template-columns:74px minmax(0,1fr);gap:8px}
  .hepan-entry-layout .hepan-form-card,.ziwei-entry-layout .ziwei-form-card{padding:20px 17px;border-radius:17px}
  .ziwei-entry-layout .ziwei-hero{padding:0 2px}
  .ziwei-entry-layout .ziwei-hero h1,.ziwei-entry-layout .ziwei-hero-copy>p:not(.ziwei-kicker){max-width:100%}
  .ziwei-entry-layout .ziwei-hero-orbit{display:none}
}
