.city-options{border:1px solid var(--line);border-radius:8px;background:var(--paper);max-height:260px;overflow:auto;margin-top:8px;box-shadow:0 10px 25px #57463916}.city-options[hidden]{display:none}.city-option{padding:12px 15px;border-bottom:1px solid #d8c9b355;cursor:pointer;font:14px/1.4 var(--sans)}.city-option:last-child{border-bottom:0}.city-option strong,.city-option small{display:block}.city-option small{font-size:11px;opacity:.7;margin-top:4px}.city-option:hover,.city-option[aria-selected=true]{background:var(--rose)}.city-status{font:12px/1.6 var(--sans);margin:8px 0;color:var(--ink)}.live-consent{display:flex;align-items:flex-start;gap:10px;font:13px/1.7 var(--sans);margin:20px 0}.live-consent input{margin-top:5px;accent-color:var(--wine)}.live-status{font:14px/1.8 var(--sans);padding:10px 0;overflow-wrap:anywhere}.live-status:empty{display:none}.live-error{color:#705945;font:14px/1.7 var(--sans)}.live-charts{margin:24px 0 45px;border:1px solid var(--line);padding:20px;border-radius:12px;font:14px/1.6 var(--sans)}.live-charts summary{cursor:pointer}.live-charts table{border-collapse:collapse;width:100%;margin:15px 0 25px;font-size:13px}.live-charts th,.live-charts td{padding:9px 6px;text-align:left;border-bottom:1px solid #d8c9b355}.live-charts section{overflow-x:auto}.live-module{padding:10px 0 35px}.live-module>p{font-size:22px;line-height:1.5}.live-module .reading-grid p{white-space:pre-line}.live-module .live-provenance{font:11px/1.7 var(--sans);opacity:.7}.live-relations{display:grid;gap:12px}.live-relation{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line);border-radius:10px;padding:18px;gap:8px}.live-relation strong{font:500 23px var(--serif)}.live-relation small{font:12px var(--sans)}button:disabled{opacity:.5;cursor:wait}#birth-skip[hidden],#auth-form[hidden],.auth-google[hidden],[data-birth-start][hidden]{display:none!important}#session-logout{display:block;margin:15px auto}#live-retry{margin-bottom:20px}@media(max-width:680px){.live-charts{padding:14px}.live-charts table{font-size:11px}.live-module>p{font-size:20px}}

.demo-auth-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:0 0 24px;padding-bottom:10px}.demo-auth-tabs button{flex:1;padding:11px 14px;border-radius:8px;font:14px var(--sans)}.demo-auth-tabs button[aria-selected=true]{background:#eee6dc;color:var(--wine)}.auth-facebook{margin-top:12px!important}.facebook-mark{font:bold 25px Georgia,serif;min-width:21px}.social-demo-panel{padding:20px;border:1px solid var(--line);border-radius:12px;background:#fcf9ef}.social-demo-panel[hidden]{display:none}.social-demo-panel h3{font-size:27px;font-weight:500;margin-top:0}.social-demo-panel p{font-size:18px;line-height:1.5}.social-demo-panel .button{width:100%;font-size:16px}.social-demo-panel .text-action{display:block;margin:18px auto 0}.demo-birth-notice{font:12px/1.8 var(--sans);padding:12px 15px;background:#eef0e9;border:1px solid var(--line);border-radius:8px}.demo-birth-notice:empty{display:none}#review-demo-skip{width:100%;margin-top:16px}#birth-skip:not([hidden]){display:block}

.auth-social-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}.auth-social-row[hidden]{display:none}.auth-social-row .auth-google{margin:0!important;padding:12px 8px;min-height:46px;font-size:11px;gap:8px}.auth-social-row .auth-google svg{width:18px;height:18px}.auth-social-row .facebook-mark{font-size:22px}#login [data-birth-start]{width:100%;margin:5px 0 20px;font-size:12px;padding:11px;border:1px dashed var(--line);border-radius:8px}#login .auth-divider[hidden]{display:none}#login .auth-panel{padding-top:35px;padding-bottom:24px}#login .auth-panel>h2{font-size:36px;margin-bottom:16px}#login .auth-intro{font-size:17px;margin-bottom:18px}#login .demo-auth-tabs{margin-bottom:16px;padding-bottom:7px}#login .demo-auth-tabs button{padding:9px 12px}@media(max-width:680px){#login .auth-panel{padding-top:28px}#login .auth-panel>h2{font-size:31px}.auth-social-row .auth-google{font-size:10px}}

/* Social sign-in entry, matching the birth-details palette. */
#login .auth-social-row{grid-template-columns:1fr;gap:14px;margin:26px 0 12px}
#login .auth-social-row .auth-google{min-height:58px;font-size:15px;border-radius:12px;background:#fffdf8;justify-content:center}
#login .auth-social-row .auth-facebook{background:var(--wine);color:#fffdf8;border-color:var(--wine)}
#login [data-birth-start]{min-height:48px;border:0;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin:10px 0 20px}
#login .auth-status{font:13px/1.6 var(--sans);color:var(--wine);margin:14px 0}
#login .auth-status:empty{display:none}
#login .auth-panel{display:flex;flex-direction:column;justify-content:center}
#login .auth-panel>h2{font-size:44px;line-height:1.15}
#login .auth-preview-note{line-height:1.7}
@media(max-width:680px){#login .auth-panel>h2{font-size:34px}#login .auth-social-row{margin-top:18px}}

#reading-loader{display:none;position:fixed;inset:0;z-index:2000;background:radial-gradient(ellipse at 50% 42%,#f4ece3 0,transparent 60%),#faf8ef;color:var(--wine);padding:35px 24px;overflow:auto;text-align:center;align-content:center;justify-items:center}
html.reading-pending{overflow:hidden}html.reading-pending #reading-loader{display:grid}html.reading-pending body>:not(#reading-loader):not(script){visibility:hidden;pointer-events:none}
#reading-loader .loader-brand{position:absolute;left:48px;top:32px;font-size:34px}#reading-loader .loader-brand span{font-size:11px}#reading-loader .loader-scene{width:min(560px,90vw);margin:15px auto 0}#reading-loader svg{width:100%;overflow:visible}
#reading-loader .eyebrow{font:10px var(--sans);letter-spacing:3px;margin:12px 0 20px;color:#a58a75}#reading-loader h1{font:500 clamp(29px,4vw,48px)/1.2 var(--serif);letter-spacing:-1px;margin:0 0 17px;outline:none}#reading-loading-copy{font:19px/1.6 var(--serif);color:#948173;margin:0;max-width:480px}#reading-loading-status{font:12px/1.7 var(--sans);min-height:21px;max-width:440px;color:#948173;margin:16px 0 0}
.reading-loading-dots{display:flex;gap:8px;margin-top:27px}.reading-loading-dots i{width:5px;height:5px;border-radius:50%;background:#b9977c;animation:reading-dot 1.6s ease-in-out infinite}.reading-loading-dots i:nth-child(2){animation-delay:.2s}.reading-loading-dots i:nth-child(3){animation-delay:.4s}
.play-cat-left{transform-origin:200px 275px;animation:cat-rock-left 3s ease-in-out infinite}.play-cat-right{transform-origin:400px 275px;animation:cat-rock-right 3s ease-in-out infinite}.play-paw-left{transform-origin:218px 224px;animation:paw-left 3s ease-in-out infinite}.play-paw-right{transform-origin:378px 226px;animation:paw-right 3s ease-in-out infinite}.play-yarn{transform-origin:300px 254px;animation:yarn-roll 3s ease-in-out infinite}.play-stars{animation:star-glow 3s ease-in-out infinite}.play-tail-left{transform-origin:166px 256px;animation:tail-left 3s ease-in-out infinite}.play-tail-right{transform-origin:438px 258px;animation:tail-left 3s ease-in-out infinite reverse}
#reading-loading-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:20px}#reading-loading-actions[hidden]{display:none}#reading-loading-actions .button{font-size:16px;padding:13px 28px}#reading-loading-home{font-size:14px}
@keyframes cat-rock-left{0%,100%{transform:rotate(-2deg)}45%{transform:rotate(3deg)}}@keyframes cat-rock-right{0%,100%{transform:rotate(-2deg)}55%{transform:rotate(2deg)}}@keyframes paw-left{0%,70%,100%{transform:rotate(-14deg)}25%,40%{transform:rotate(8deg)}}@keyframes paw-right{0%,40%,100%{transform:rotate(14deg)}65%,80%{transform:rotate(-8deg)}}@keyframes yarn-roll{0%,100%{transform:translateX(-13px) rotate(-25deg)}48%{transform:translateX(13px) rotate(25deg)}}@keyframes tail-left{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes reading-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@keyframes star-glow{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:680px){#reading-loader{padding:95px 20px 35px}#reading-loader .loader-brand{left:25px;top:23px;font-size:28px}#reading-loader .loader-scene{width:95vw;margin-top:0}#reading-loader .eyebrow{font-size:8px;letter-spacing:2px;margin-top:0}#reading-loading-copy{font-size:17px;max-width:310px}}
@media(prefers-reduced-motion:reduce){#reading-loader *{animation:none!important}}

#future-page .future-question{font:500 clamp(27px,3vw,40px)/1.25 var(--serif);margin:0 0 25px;padding-bottom:25px;border-bottom:1px solid var(--line)}
#future-page .future-basis{font:600 11px/1.6 var(--sans);letter-spacing:1px;margin:0 0 10px;color:var(--wine)}
#future-page .future-context{font:14px/1.7 var(--sans);color:var(--ink);margin:0 0 24px}
#future-page .future-excerpt{font:22px/1.65 var(--serif);margin:0;max-width:850px}
#future-page .reading-unlock{margin-top:20px;padding-top:35px;background:#e9eff0;border-radius:12px;padding-bottom:30px}
#future-page .reading-unlock>p:not(.eyebrow):not(.reading-unlock-note){font:19px/1.6 var(--serif);max-width:700px;margin:0 auto 20px;padding:0 24px}
#future-page .reading-unlock h2[hidden],#future-page .reading-unlock .eyebrow[hidden]{display:none}
html[lang=zh-CN] .reading-grid h2{font-size:30px;line-height:1.4}html[lang=zh-CN] .reading-grid p{line-height:1.9}
/* Calm, task-based progress rather than a simulated timer. */
.reading-progress-wrap{width:min(360px,80vw);margin:28px auto 0}.reading-progress-meta{display:flex;justify-content:space-between;gap:18px;font:11px/1.6 var(--sans);color:#9a806a;margin-bottom:10px;text-align:left}#reading-progress{height:5px;background:#e7ded2;border-radius:8px;overflow:hidden}#reading-progress-fill{display:block;width:0;height:100%;background:linear-gradient(90deg,#ccb28c,#886653);border-radius:8px;transition:width .65s ease}.reading-loading-dots{display:none}
.relationship-tags,.result-disclaimer,.report-continue,#continue-future,.live-provenance,.reading-unlock-note{display:none!important}
/* A consistent reading width, centered within each report. */
.live-module>.reading-intro{max-width:860px;margin:0 auto 36px;font-size:21px;line-height:1.75}
#future-page .future-preview{max-width:900px;margin:0 auto;padding:12px 0 40px}
#future-page .future-question{font-size:clamp(29px,3vw,40px);text-align:center;max-width:850px;margin:0 auto 28px;padding-bottom:25px;line-height:1.4}
#future-page .future-basis,#future-page .future-context{max-width:800px;margin-left:auto;margin-right:auto;text-align:center}
#future-page .future-excerpt{font:21px/1.85 var(--serif);width:100%;max-width:800px;margin:28px auto 0;overflow-wrap:anywhere;text-wrap:pretty}
.reading-unlock.premium-preview,#future-page .reading-unlock.premium-preview{background:transparent;border:0;border-radius:0;text-align:left;padding:36px 0 0;margin:22px 0 0;box-shadow:none}
.premium-preview::before,.premium-preview::after{display:none!important}
.reading-unlock.premium-preview>.premium-heading{font:500 clamp(28px,3.3vw,42px)/1.35 var(--serif);max-width:960px;margin:0 auto 34px;text-align:left;color:var(--wine);letter-spacing:-.4px}
.premium-preview-stage{position:relative;max-width:960px;min-height:380px;margin:0 auto;isolation:isolate}
.premium-locked-preview{display:grid;grid-template-columns:1fr 1fr;gap:46px 65px;filter:blur(5px);opacity:.5;user-select:none;padding:4px 8px}.premium-preview-item{position:relative;padding-left:32px}.premium-preview-item i{position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:5px;background:#c9b38e}.premium-preview-item span{display:block;height:9px;border-radius:9px;background:#c7b8a6;margin:9px 0;width:94%}.premium-preview-item span:first-of-type{height:13px;width:62%;background:#a8927c;margin-bottom:18px}.premium-preview-item span:last-child{width:76%}
.premium-unlock-card{position:absolute;z-index:1;top:90px;left:50%;transform:translateX(-50%);width:min(800px,calc(100% - 34px));background:#fcfaf3;border:1px solid #dac9b3;border-top:3px solid #b79b79;border-radius:16px;box-shadow:0 16px 45px #5943310d;padding:42px 36px 30px;text-align:center}
.premium-lock{position:absolute;top:-25px;left:calc(50% - 25px);display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#866452;border:5px solid #fcfaf3;color:#fff8eb}.premium-lock svg{width:23px;height:23px}
.premium-unlock-card h3{font:500 28px/1.3 var(--serif);margin:0 0 14px;color:var(--wine)}.premium-unlock-card p{font:18px/1.65 var(--serif);max-width:650px;margin:0 auto 22px;color:var(--ink)}
.reading-unlock .premium-unlock-card .button{width:auto;min-width:240px;max-width:100%;font-size:17px;padding:14px 28px;margin:0;line-height:1.4}
html[lang=zh-CN] .premium-unlock-card p{line-height:1.85}html[lang=zh-CN] #future-page .future-excerpt{max-width:760px;line-height:1.95}
@media(max-width:680px){.reading-progress-wrap{margin-top:22px}#future-page .future-preview{padding-bottom:22px}#future-page .future-question{font-size:27px}#future-page .future-excerpt,.live-module>.reading-intro{font-size:18px;line-height:1.8}.reading-unlock.premium-preview>.premium-heading{font-size:28px;margin-bottom:28px}.premium-preview-stage{min-height:400px}.premium-locked-preview{gap:28px 18px}.premium-preview-item{padding-left:20px}.premium-preview-item i{width:12px;height:12px}.premium-unlock-card{top:70px;width:calc(100% - 8px);padding:38px 20px 25px}.premium-unlock-card h3{font-size:25px}.premium-unlock-card p{font-size:17px}.reading-unlock .premium-unlock-card .button{min-width:0;width:100%;font-size:16px}}

/* Three consistent preview rows, with the surrounding text left aligned. */
.reading-unlock .eyebrow{display:none!important}
.reading-unlock.premium-preview>.premium-heading{max-width:none;width:100%;margin:0 0 34px;text-align:left}
.premium-preview-stage{max-width:none;width:100%;min-height:570px}
.premium-locked-preview{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,minmax(145px,1fr));gap:30px 64px;min-height:535px;padding:8px 0;filter:blur(4px);opacity:.65}
.premium-preview-item{padding-left:34px;overflow:hidden}
.premium-preview-item h4{font:500 23px/1.35 var(--serif);margin:0 0 12px;color:var(--wine)}
.premium-preview-item p{font:18px/1.65 var(--serif);margin:0;color:var(--ink)}
.premium-preview-item i{width:20px;height:20px;top:5px}
.premium-unlock-card{top:50%;transform:translate(-50%,-50%);width:min(850px,calc(100% - 64px))}
.premium-unlock-card .button svg,.premium-unlock-card .button .icon{display:none!important}
.live-module>.reading-intro{margin-left:0;margin-right:auto}
#future-page .future-preview{max-width:none;margin:0;padding:12px 0 40px}
#future-page .future-question{max-width:none;margin:0 0 28px;text-align:left}
#future-page .future-basis,#future-page .future-context{max-width:860px;margin-left:0;margin-right:auto;text-align:left}
#future-page .future-excerpt,html[lang=zh-CN] #future-page .future-excerpt{max-width:860px;margin:28px 0 0;text-align:left}
@media(max-width:680px){.premium-preview-stage{min-height:650px}.premium-locked-preview{min-height:625px;grid-template-rows:repeat(3,minmax(180px,1fr));gap:25px 20px}.premium-preview-item{padding-left:20px}.premium-preview-item h4{font-size:18px}.premium-preview-item p{font-size:15px;line-height:1.7}.premium-preview-item i{width:12px;height:12px}.premium-unlock-card{top:50%;width:calc(100% - 8px)}.reading-unlock.premium-preview>.premium-heading{margin-bottom:26px}}

/* Restore both overview paragraphs and let them use the full reading width. */
#astrology-page .live-module>.reading-intro,#behavior-page .live-module>.reading-intro{width:100%;max-width:none;margin:0 0 36px;box-sizing:border-box;text-align:left}
.premium-preview-stage{min-height:720px}.premium-locked-preview{min-height:680px;grid-template-rows:repeat(3,minmax(205px,1fr));gap:28px 64px}.premium-preview-item{overflow:visible}.premium-preview-item p{font-size:17px;line-height:1.7}
@media(max-width:680px){.premium-preview-stage{min-height:850px}.premium-locked-preview{min-height:820px;grid-template-rows:repeat(3,minmax(250px,1fr));gap:22px 18px}.premium-preview-item p{font-size:14px;line-height:1.65}}

/* Full-width future preview, aligned with the report's content edges. */
#future-page .future-basis,#future-page .future-context{display:none!important}
#future-page .future-excerpt,html[lang=zh-CN] #future-page .future-excerpt{width:100%;max-width:none;margin:24px 0 0;box-sizing:border-box}
/* Give the plan selector and its benefits equal visual weight. */
#membership-page{max-width:1200px}
#membership-page .membership-intro{max-width:780px;margin:18px auto 38px;text-align:center}
#membership-page .membership-intro h1{font-size:clamp(36px,4vw,54px);line-height:1.15;margin:15px 0 18px}
#membership-page .membership-intro .commerce-lead{font-size:21px;line-height:1.6;margin:0 auto;max-width:720px}
#membership-page .commerce-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:0;align-items:stretch}
#membership-page .plan-options{gap:16px}
#membership-page .plan-card{padding:21px;border:1px solid var(--line);transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
#membership-page .plan-card:has(input:checked){padding:21px;border-color:var(--wine);box-shadow:0 5px 20px #7955470d;transform:translateY(-2px)}
#membership-page .plan-card strong{font-size:27px}#membership-page .plan-card b{font-size:40px}#membership-page .plan-card small{font-size:13px}
#membership-page .benefits-panel{align-self:stretch;min-height:540px;padding:32px;display:flex;flex-direction:column}
#membership-page .benefits-panel>h2{font-size:31px;line-height:1.3}
#membership-page .benefits-panel.single-plan{justify-content:center;text-align:center}
#membership-page .single-plan #single-benefits{margin-top:24px}
#membership-page .single-plan #single-benefits .benefit-list{margin:0;padding:0}
#membership-page .single-plan #single-benefits li{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
#membership-page .single-plan #single-benefits li>span{font-size:23px}
#membership-page .single-plan #single-benefits p{max-width:390px;margin-left:auto;margin-right:auto;line-height:1.75}
#membership-page .single-plan #single-benefits h3{line-height:1.4}
#membership-page .single-plan .demo-pill{align-self:center}
#membership-page #membership-footer{margin-top:auto;padding-top:20px}
#membership-page .plan-card:hover{border-color:#ad8e74}
@media(max-width:760px){#membership-page .commerce-layout{grid-template-columns:1fr;gap:24px}#membership-page .membership-intro{margin:15px auto 28px}#membership-page .membership-intro h1{font-size:36px}#membership-page .membership-intro .commerce-lead{font-size:19px}#membership-page .benefits-panel{min-height:0;padding:28px 24px}#membership-page .benefits-panel.single-plan{min-height:420px}#membership-page .plan-card strong{font-size:25px}#membership-page .plan-card b{font-size:36px}}
@media(prefers-reduced-motion:reduce){#membership-page .plan-card{transition:none;transform:none!important}}

/* Requested text cleanup and the supplied brand mark. */
#result-page .reading-heading>.demo-pill,#membership-footer{display:none!important}
.brand-footer,body.showing-result>.brand-footer{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:48px 0 32px;text-align:center}
.footer-brand-lockup{display:flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;color:var(--wine)}
.footer-brand-lockup>img{width:auto;height:80px;object-fit:contain}.footer-brand-lockup>.brand{font:500 42px/1 var(--serif)}.footer-brand-lockup>.brand>span{display:block;font-size:12px;letter-spacing:1px;margin-top:10px}
.brand-footer .footer-copyright{font:11px/1.5 var(--sans);letter-spacing:1.5px;opacity:.65;margin:0}
/* Compact commerce layouts; all controls remain visible and usable. */
@media(min-width:761px){
 body:has(.commerce-page:not([hidden]))>.header{height:66px;min-height:0;padding-block:0}
 body:has(.commerce-page:not([hidden]))>.brand-footer{flex-direction:row;gap:18px;padding:9px 0 7px;margin-top:0;border-top:0}
 body:has(.commerce-page:not([hidden])) .footer-brand-lockup{gap:8px}
 body:has(.commerce-page:not([hidden])) .footer-brand-lockup>img{height:28px}
 body:has(.commerce-page:not([hidden])) .footer-brand-lockup>.brand{font-size:21px}
 body:has(.commerce-page:not([hidden])) .footer-brand-lockup>.brand>span{display:none}
 body:has(.commerce-page:not([hidden])) .footer-copyright{font-size:9px;letter-spacing:.6px}
 #membership-page,#checkout-page{max-width:1120px;padding-top:6px;padding-bottom:8px}
 #membership-page>.result-edit,#checkout-page>.result-edit{font-size:12px;padding:2px 0;min-height:20px;margin:0}
 #membership-page .membership-intro{max-width:850px;margin:4px auto 17px}
 #membership-page .membership-intro>.eyebrow{font-size:8px;letter-spacing:1.5px;margin:0 0 6px}
 #membership-page .membership-intro h1{font-size:36px;line-height:1.12;margin:4px 0 9px}
 #membership-page .membership-intro .commerce-lead{font-size:16px;line-height:1.45;max-width:780px}
 #membership-page .commerce-layout{gap:26px}
 #membership-page .plan-options{margin:0 0 13px;gap:12px}
 #membership-page .plan-card,#membership-page .plan-card:has(input:checked){padding:16px 19px;border-radius:15px}
 #membership-page .plan-card>span{gap:4px}
 #membership-page .plan-card strong{font-size:23px}
 #membership-page .plan-card b{font-size:34px;line-height:1.1}
 #membership-page .plan-card>span>span{font-size:13px;line-height:1.4}
 #membership-page .plan-card small{font-size:11px;line-height:1.45;padding-top:7px;margin-top:4px}
 #membership-page .benefits-panel{min-height:0;padding:22px 25px;border-radius:18px}
 #membership-page .benefits-panel>.eyebrow{font-size:8px;margin:0 0 9px}
 #membership-page .benefits-panel>h2{font-size:27px;margin:6px 0 12px}
 #membership-page .benefits-panel>.demo-pill{font-size:8px}
 #membership-page .benefit-list{margin:10px 0 0;padding:0;border-bottom:0;display:grid;gap:12px}
 #membership-page .benefit-list li{padding:0;gap:10px}
 #membership-page .benefit-list h3{font-size:17px;line-height:1.25;margin:0 0 4px}
 #membership-page .benefit-list p{font-size:12px;line-height:1.45;margin:0}
 #membership-page .single-plan #single-benefits{margin-top:17px}
 #membership-page .single-plan #single-benefits p{font-size:14px;max-width:380px}
 #membership-page .single-plan .single-foot{margin-top:24px}
 #membership-page #plan-continue{font-size:16px;min-height:43px;padding:10px 18px}
 #membership-page #buy-coins{font-size:12px;margin:0 0 9px;padding:2px}
 #membership-page #plan-note{margin:8px 0 3px}
 #membership-page .commerce-note{font-size:10px;line-height:1.35;margin:4px 0}
 #checkout-page .checkout-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:32px;margin-top:12px;align-items:stretch}
 #checkout-page .order-panel>.eyebrow{font-size:8px;margin:4px 0 10px}
 #checkout-page #order-title{font-size:38px;line-height:1.12;margin:8px 0 12px;max-width:440px}
 #checkout-page .order-price{font-size:48px;line-height:1.1}
 #checkout-page #order-period{font-size:14px;line-height:1.4;margin:7px 0 0}
 #checkout-page .order-summary{padding:19px;margin-top:20px;border-radius:16px}
 #checkout-page .order-product{gap:10px}
 #checkout-page .order-product>span{font-size:25px}
 #checkout-page .order-product h2{font-size:23px;line-height:1.3;margin:0}
 #checkout-page .order-product>strong{font-size:14px;margin-left:auto;white-space:nowrap}
 #checkout-page .order-includes{font-size:13px;line-height:1.4;margin:18px 0;padding:0;display:grid;gap:8px}
 #checkout-page .order-total{font-size:13px;margin-top:12px;padding-top:12px}
 #checkout-page .renewal-box{padding:12px;margin-top:13px;border-radius:10px}
 #checkout-page .renewal-box strong{font-size:13px}
 #checkout-page .renewal-box p{font-size:11px;line-height:1.5;margin:5px 0 0}
 #checkout-page .order-panel>.commerce-note{font-size:10px;line-height:1.4;margin:10px 0 0}
 #checkout-page .payment-panel{padding:18px 22px;border-radius:18px}
 #checkout-page .payment-panel h2{font-size:21px;line-height:1.2;margin:0 0 10px}
 #checkout-page .checkout-contact-row{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:13px}
 #checkout-page .pay-field{gap:5px;font-size:11px;line-height:1.3;margin:0}
 #checkout-page .pay-field input,#checkout-page .pay-field select{height:36px;padding:8px 11px;border-radius:8px;font-size:12px}
 #checkout-page .payment-methods{gap:12px;margin:0 0 13px}
 #checkout-page .payment-methods label{padding:9px 12px;min-height:37px;gap:9px;font-size:13px;border-radius:9px}
 #checkout-page .payment-methods input{margin:0}
 #checkout-page #card-demo{display:grid;grid-template-columns:1.2fr 1fr;gap:10px 14px}
 #checkout-page #card-demo>.pay-field:first-child{order:0}
 #checkout-page #card-demo>.pay-field:last-child{order:1}
 #checkout-page #card-demo>.pay-row{order:2;grid-column:1/-1;gap:14px}
 #checkout-page #card-demo[hidden]{display:none}
 #checkout-page .payment-panel>.commerce-note{font-size:9px;line-height:1.35;margin:8px 0}
 #checkout-page .demo-consent{font-size:10px;line-height:1.4;padding:9px 0;margin-top:4px}
 #checkout-page #simulate-pay{font-size:15px;min-height:39px;padding:9px 16px}
 #checkout-page #simulate-failure{font-size:11px;padding:2px;margin:0}
 #checkout-page .pix-preview{padding:14px;margin:0 0 12px}
 #checkout-page .pix-preview>span{font-size:30px}
 #checkout-page .pix-preview h3{font-size:21px;margin:5px 0}
 #checkout-page .pix-preview p{font-size:13px;line-height:1.4;margin:4px 0}
}
@media(min-width:761px) and (max-height:740px){
 body:has(.commerce-page:not([hidden]))>.header{height:58px}
 #membership-page .membership-intro{margin-bottom:13px}
 #membership-page .membership-intro h1{font-size:32px}
 #membership-page .plan-card,#membership-page .plan-card:has(input:checked){padding:13px 17px}
 #membership-page .benefit-list{gap:10px}
 #membership-page .benefits-panel{padding:19px 23px}
 #checkout-page #order-title{font-size:34px}
 #checkout-page .payment-panel{padding:15px 20px}
 #checkout-page .checkout-contact-row,#checkout-page .payment-methods{margin-bottom:10px}
 #checkout-page .payment-panel h2{font-size:19px;margin-bottom:8px}
}
@media(max-width:760px){.checkout-contact-row{display:grid;gap:12px}.brand-footer{padding:32px 0 26px}.footer-brand-lockup>img{height:62px}.footer-brand-lockup>.brand{font-size:34px}}
@media(min-width:761px){
 body:has(.commerce-page:not([hidden]))>.header .brand{font-size:37px;line-height:1}
 body:has(.commerce-page:not([hidden]))>.header .brand>span{font-size:10px;margin-top:6px}
 #checkout-page .order-price{font-size:44px}
 #checkout-page .order-summary{padding:15px;margin-top:16px}
 #checkout-page .order-includes{margin:12px 0;gap:6px}
 #checkout-page .renewal-box{padding:9px;margin-top:10px}
 #checkout-page #order-period{margin-top:5px}
}
@media(min-width:761px){#membership-page .benefit-list li{margin:0}#membership-page .benefit-list li:last-child{margin-bottom:0}}
@media(min-width:761px) and (max-height:740px){
 #membership-page[data-plan="single"] .membership-intro{margin-bottom:10px}
 #membership-page[data-plan="single"] .plan-options{gap:10px;margin-bottom:10px}
 #membership-page[data-plan="single"] .plan-card,#membership-page[data-plan="single"] .plan-card:has(input:checked){padding:10px 17px}
 #membership-page[data-plan="single"] #buy-coins{height:18px;min-height:0;line-height:18px;padding:0;margin:0 0 5px;font-size:11px}
}

/* A compact centered label and arrow, instead of opposite ends of the button. */
#birth-view-example{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,420px);min-height:50px;margin:22px auto 0;padding:12px 22px}
#birth-view-example>span{flex:0 1 auto;text-align:center}
#birth-view-example>span:last-child{flex:0 0 auto;margin:0;font-size:21px;line-height:1}
/* Use available vertical room while keeping the brand footer in normal flow. */
@media(min-width:761px){
 #membership-page:not([hidden]),#checkout-page:not([hidden]){display:flex;flex-direction:column;justify-content:center;min-height:calc(100dvh - 118px);box-sizing:border-box}
 #membership-page>.result-edit,#checkout-page>.result-edit{align-self:flex-start}
 #membership-page .membership-intro{width:100%;margin-top:10px;margin-bottom:19px}
 #membership-page .commerce-layout,#checkout-page .commerce-layout{width:100%}
 body:has(.commerce-page:not([hidden]))>.brand-footer{position:static;flex-shrink:0;padding-top:10px;padding-bottom:10px;min-height:44px;box-sizing:border-box}
}
@media(min-width:761px) and (max-height:740px){
 #membership-page .membership-intro{margin-top:8px;margin-bottom:15px}
 #membership-page[data-plan="single"] .membership-intro{margin-top:6px;margin-bottom:10px}
 #membership-page[data-plan="single"] .commerce-note{margin-top:2px;margin-bottom:2px}
 #membership-page[data-plan="single"] .plan-card,#membership-page[data-plan="single"] .plan-card:has(input:checked){padding:9px 17px}
}

/* Keep the birth action label and arrow together in the center. */
#birth-form .auth-submit{justify-content:center;gap:12px}
#birth-form .auth-submit>span{flex:0 1 auto;margin:0}
#birth-form .auth-submit>span:last-child{flex:0 0 auto}

/* A small celestial calendar, matched to the birth form. */
#birth-date.birth-date-native{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}
.birth-date-trigger{width:100%;min-width:0;text-align:left;padding:15px 0;font:16px/1.4 var(--serif);color:var(--wine);display:flex;align-items:center;justify-content:space-between;gap:12px}
.birth-date-trigger:after{content:'⌄';color:var(--gold);font-size:21px}
.birth-calendar{margin-top:10px;padding:17px 18px 10px;border:1px solid #d8c9b3;border-radius:20px;background:radial-gradient(ellipse at 95% 0,#f0ded766,transparent 65%),#fcf9ef;box-shadow:0 10px 26px #7955470c;color:var(--wine)}
.birth-calendar[hidden]{display:none}
.birth-calendar-story{display:flex;justify-content:center;align-items:center;gap:12px;color:#927858;font:11px/1.5 var(--sans);letter-spacing:.3px;margin-bottom:15px;text-align:center}
.birth-calendar-story>span:first-child,.birth-calendar-story>span:last-child{font:23px var(--serif);color:var(--gold)}
.birth-calendar-head{display:flex;align-items:center;gap:8px;margin-bottom:13px}
.birth-calendar-head select{width:auto;min-width:0;min-height:38px;padding:5px 8px;border:1px solid #d8c9b388;border-radius:10px;background:#fffcf7;font:16px var(--serif);color:var(--wine);cursor:pointer}
.birth-calendar-head .calendar-month{flex:1}.birth-calendar-head .calendar-year{width:88px}
.birth-calendar .calendar-nav{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid #d8c9b3;background:transparent;color:var(--wine);font:26px/1 var(--serif)}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.calendar-weekdays{font:10px/1.5 var(--sans);color:#9b8777;margin-bottom:8px}.calendar-weekdays span{overflow:hidden}
.birth-calendar .calendar-day{position:relative;min-height:36px;width:100%;border-radius:50%;padding:4px 0;font:16px/1 var(--serif);color:var(--wine);transition:background .15s,transform .15s}
.birth-calendar .calendar-day:not(:disabled):hover{background:#eee1d4;transform:translateY(-1px)}
.birth-calendar .calendar-day[aria-pressed=true]{background:var(--wine);color:#fcf2dc;box-shadow:0 0 0 2px #fcf9ef,0 0 0 3px #b6986c80}
.birth-calendar .calendar-day.is-today:after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--gold)}
.birth-calendar button:disabled{opacity:.28;cursor:default}.birth-calendar button:focus-visible,.birth-calendar select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.calendar-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d8c9b366;margin-top:12px;padding-top:8px;color:var(--gold)}
.calendar-footer button{font:11px var(--sans);padding:9px 4px;color:var(--wine)}
@media(max-width:400px){.birth-calendar{padding:14px 10px 8px}.birth-calendar-head{gap:5px}.birth-calendar-head .calendar-year{width:76px}.birth-calendar-story{font-size:10px;gap:8px}}
@media(prefers-reduced-motion:reduce){.birth-calendar .calendar-day{transition:none}}

/* Remove the requested birth-form helper copy and step caption. */
#birth-step,#birth-form .birth-city-note,#birth-form-panel>.auth-preview-note{display:none!important}

/* City suggestions appear directly beneath the field as the visitor types. */
#birth-city-options{border-radius:16px;background:#fffcf6;max-height:230px;overscroll-behavior:contain;box-shadow:0 8px 22px #7955470b}
#birth-city-options .city-option{position:relative;padding:13px 38px 13px 16px;min-height:58px}
#birth-city-options .city-option:after{content:'↗';position:absolute;right:16px;top:17px;color:var(--gold);font-size:17px}
#birth-city-options .city-option strong{font-weight:500;color:var(--wine)}
#birth-city-status:empty{display:none}

/* Remove the three requested captions throughout the birth flow. */
.birth-side-copy>.eyebrow,#reading-loading-eyebrow,#login .auth-privacy,#birth-review>.auth-preview-note{display:none!important}

/* Uniform relationship illustrations, preserving the whole image. */
#result-page .relationship-art{width:100%;height:auto;aspect-ratio:1 / 1;background-size:contain;background-position:center;background-repeat:no-repeat}#result-page .relationship-art::before,#result-page .relationship-art::after{content:none!important}

/* Relationship portrait cleanup and square, upright artwork. */
#result-page .relationship-copy>.eyebrow{display:none!important}
#result-page .relationship-card::before,#result-page .relationship-art-frame::before,#result-page .relationship-art-frame::after{content:none!important;display:none!important}
#result-page .relationship-art-frame{transform:none!important;rotate:none!important;aspect-ratio:1 / 1;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden}
#result-page .relationship-art-frame figcaption{display:none!important}
#result-page .relationship-art{width:100%;height:auto;aspect-ratio:1 / 1;transform:none!important;flex:none;background-size:contain!important}

.footer-support{font:12px/1.5 var(--sans);color:var(--wine);text-underline-offset:3px;overflow-wrap:anywhere}
@media(min-width:761px){body:has(.commerce-page:not([hidden]))>.brand-footer{flex-wrap:wrap}body:has(.commerce-page:not([hidden])) .footer-support{font-size:11px}}

/* Separate the two people’s natal sign summaries. */
.relationship-basis .zodiac-person-rows{display:grid;gap:14px;width:100%;max-width:none;margin-inline:0;text-align:center}
.zodiac-person-row{display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap}
.zodiac-person-name{font-weight:500;flex-shrink:0}
.zodiac-person-positions{display:flex;justify-content:center;gap:8px 18px;flex-wrap:wrap}
.zodiac-person-positions>span{white-space:nowrap}
@media(max-width:600px){.zodiac-person-row{display:grid;gap:6px}.zodiac-person-positions{gap:5px 12px}}

/* Exactly one horizontal line per person, including the name. */
.relationship-basis .zodiac-person-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:#c8b29a transparent}
.relationship-basis .zodiac-person-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:center;gap:18px;width:max-content;min-width:100%;white-space:nowrap;font-size:clamp(11px,1.05vw,15px)}
.relationship-basis .zodiac-person-name{flex:0 0 auto;white-space:nowrap}
.relationship-basis .zodiac-person-positions{display:contents}
.relationship-basis .zodiac-person-positions>span{flex:0 0 auto;white-space:nowrap}
@media(max-width:600px){.relationship-basis .zodiac-person-row{display:flex;gap:12px;font-size:12px;justify-content:flex-start}}

/* Paid access reveals the existing preview area inside the same report chapter. */
#result-page .reading-unlock.premium-unlocked{display:block;filter:none;opacity:1;user-select:text}
#result-page .premium-unlocked>.paid-reading{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;min-height:0;scroll-margin-top:100px}
#result-page .premium-unlocked>.paid-reading>.reading-index{margin:0 0 8px;font:11px/1.5 var(--sans);letter-spacing:1.4px;color:#927b68}
#result-page .premium-unlocked .paid-access-detail{margin:0 0 24px;font:12px/1.65 var(--sans);color:#927b68}
#result-page .premium-unlocked .reading-intro{max-width:none;margin:0 0 34px;font:19px/1.85 var(--serif);text-align:left;color:var(--ink)}
#result-page .premium-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 44px;align-items:start}
#result-page .premium-reading-grid>.paid-reading-section{position:relative;min-width:0;padding:0 0 0 26px;border:0;overflow:visible}
#result-page .premium-reading-grid>.paid-reading-section>i{position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:4px;background:#c9b38e}
#result-page .premium-reading-grid .reading-index{display:block;width:auto;height:auto;margin:0;background:none;border-radius:0;font:11px/1.5 var(--sans);letter-spacing:.6px;color:#927b68}
#result-page .premium-reading-grid h3{font:500 24px/1.4 var(--serif);margin:10px 0 18px;color:var(--wine)}
#result-page .premium-reading-grid p{font:17px/1.85 var(--serif);margin:0 0 16px;color:var(--ink);overflow-wrap:anywhere}
#result-page .premium-reading-grid .paid-summary{font-size:18px;color:var(--wine)}
@media(max-width:680px){#result-page .premium-reading-grid{grid-template-columns:1fr;gap:32px}#result-page .premium-reading-grid h3{font-size:23px}#result-page .premium-reading-grid p{font-size:17px}#result-page .premium-unlocked .reading-intro{font-size:18px}}
