/* Usability audit: readable controls, shorter mobile path, consistent report context. */
body{font-size:1rem}
.button{font-size:.9375rem;line-height:1.5;min-height:48px}
.text-button,.text-link,.back-link,.profile-link{font-size:.875rem;min-height:44px}
.field label{font-size:.875rem;line-height:1.55}
.field input,.field textarea{font-size:1rem;min-height:48px}
.field-note,.form-error{font-size:.875rem;line-height:1.65}
.checkbox-label{display:flex;align-items:center;gap:10px;font-size:.875rem;line-height:1.65;min-height:44px}
.checkbox-label input{flex:none;width:19px;height:19px;min-height:0}
.fine-print,.form-reassurance,.form-bottom>.fine-print,.form-reassurance,.offer-note,.report-offer .offer-note{font-size:.75rem!important;line-height:1.75}
.overline,.frame-heading,.free-fragment-label{font-size:.75rem;letter-spacing:.8px;line-height:1.6}
.main-nav a{font-size:.8125rem}.header-content>.button{font-size:.8125rem}
.breadcrumbs,.section-nav,.report-navigation{font-size:.8125rem}
.birth-meta,.small-meta,.accordion-meta,.chart-caption,.digest-theme small,.article-meta{font-size:.75rem;line-height:1.7}
.hero-story .hero-description,.tool-intro .intro-copy,.tool-example p,.featured-tool p,.tool-rows p,.report-offer>div>p,.checkout-story>p,.tool-guide p,.tool-grid .tool-entry p,.daily-reading p{font-size:1rem;line-height:1.8}
.hero-promises,.featured-tool>div,.preview-tabs button,.preview-reading>.text-button,.hero-calculator .form-bottom .text-button{font-size:.875rem}
.preview-reading #previewChapter>p,.accordion-copy,.article-page section p{font-size:1rem;line-height:1.9}
.personal-digest .digest-theme p{font-size:1rem;line-height:1.8}
.digest-note,.personal-digest>.overline,.report-access-state p,.report-access-state>span,.report-access-state .text-button{font-size:.75rem}
.report-access-state>span{white-space:normal}
.report-access-state p{max-width:480px}
.premium-overlay>p,.premium-compact .premium-overlay>p{font-size:.875rem;line-height:1.7}
.premium-overlay .button,.premium-compact .button{font-size:.9375rem}
.premium-label,.premium-compact .premium-label{font-size:.75rem;letter-spacing:.5px}
.premium-compact{min-height:240px}.premium-preview{min-height:280px}
.offer-chapters h3,.offer-chapters p,.checkout-included>div,.checkout-price>div>span:last-child,.checkout-demo-note,.polished-checkout .fine-print,.checkout-story>.fine-print{font-size:.875rem;line-height:1.7}
.price-card ul,.footer-links,.footer-grid p,.footer-bottom,.footer-bottom p{font-size:.8125rem;line-height:1.7}
.tool-faq .reading-accordion summary,.purchase-questions .reading-accordion summary{font-size:1rem}
.tool-faq .accordion-copy,.purchase-questions .accordion-copy{font-size:1rem}
.select-tabs>button,.filter-tabs>button,.preview-tabs>button{min-height:44px;font-size:.875rem}
.city-results button{min-height:52px;padding:12px 14px}.city-results strong{font-size:.9375rem}.city-results small{font-size:.75rem}
.gender-choice label{font-size:.875rem;min-height:44px;line-height:1.6}
.coordinates-details>summary{font-size:.8125rem;line-height:1.6;padding:10px 0;min-height:44px}
.tool-intro.natal-opening{grid-template-areas:'story form' 'benefits form';gap:24px 65px}
.natal-story{grid-area:story}.natal-opening>.hero-calculator{grid-area:form}.natal-opening>.natal-benefits{grid-area:benefits;margin:0;align-self:start}
.natal-story h1{margin-top:18px}.natal-story>.fine-print{margin-top:15px}
.checkout-report{border:1px solid var(--rule);background:var(--surface);padding:22px 24px;margin-top:24px}
.checkout-report h2{font-size:26px;margin:10px 0 13px}
.checkout-report>p{font-size:.875rem;line-height:1.8;margin-bottom:11px}
.checkout-report>span:not(.overline){font-size:.75rem;line-height:1.8;color:var(--muted)}
.checkout-page .back-link{display:inline-flex;align-items:center;min-height:44px}
.polished-checkout #checkoutEmailNote{margin-top:-7px;margin-bottom:20px;font-size:.8125rem}
.polished-checkout .checkbox-label{margin-top:12px}
.polished-checkout .form-frame{scroll-margin-top:20px}
.polished-checkout .checkout-layout{grid-template-areas:'story form' 'details form';gap:20px 65px}
.polished-checkout .checkout-story{grid-area:story}
.polished-checkout .form-frame{grid-area:form}
.checkout-details{grid-area:details}.checkout-details .checkout-included{margin-top:0}
.checkout-details>.fine-print{font-size:.8125rem;margin-top:24px}
.checkout-optional{margin:18px 0}.checkout-optional>summary{font-size:.875rem;min-height:44px;cursor:pointer;padding:10px 0;line-height:1.6}
.checkout-optional[open]>.field{margin-top:15px}
.polished-checkout .form-frame>.frame-heading{padding-bottom:12px;margin-bottom:14px}
.polished-checkout .checkout-price{padding-bottom:15px;margin-bottom:12px}
.polished-checkout .checkout-demo-note{margin:14px 0 16px!important}
.checkout-optional{margin:10px 0}
.checkout-page .back-link{margin-bottom:10px}
@media(max-width:760px){
 .tool-intro.natal-opening{grid-template-areas:'story' 'form' 'benefits';gap:20px;padding-top:25px}
 .natal-opening>.natal-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:5px 0 0;gap:14px}
 .natal-benefits li{margin:0;display:flex;flex-direction:column;gap:8px;padding:0 0 0 12px}
 .natal-benefits strong{font-size:.875rem}.natal-benefits span{font-size:.8125rem}
 .report-access-state{flex-wrap:wrap}
 .preview-heading>p,.tool-example>div>.overline{font-size:.8125rem}
 .polished-checkout .checkout-layout{grid-template-areas:'story' 'form' 'details';gap:24px}
}
@media(max-width:480px){
 .header-content{min-height:76px;gap:9px}.header-content>.button{font-size:.75rem;padding:9px 10px;min-height:40px}
 .brand{font-size:23px}.brand>span{font-size:18px}
 .hero-story>.overline{font-size:.75rem;letter-spacing:.5px}
 .hero-story h1{font-size:35px;line-height:1.2}.hero-story .hero-description{font-size:1rem;line-height:1.65}
 .hero-calculator .form-frame{padding:22px 18px}.frame-heading{font-size:.75rem}
 .hero-calculator .field{margin-bottom:15px}.field label{font-size:.875rem}
 .field input,.field textarea{font-size:1rem;padding:10px;min-width:0;width:100%}
 .field-row{gap:12px}.checkbox-label{font-size:.875rem;min-height:44px}
 .form-bottom{gap:4px;flex-wrap:wrap}.form-bottom .text-button{font-size:.875rem!important;min-height:44px}
 .coordinates-details>summary{font-size:.8125rem}
 .tool-intro h1{font-size:37px}.natal-story h1{margin:15px 0}
 .natal-story .intro-copy{font-size:1rem;line-height:1.65;margin-bottom:10px}
 .natal-story>.fine-print{margin-top:0}
 .natal-opening>.natal-benefits{grid-template-columns:1fr;gap:14px}
 .natal-benefits li{flex-direction:row;flex-wrap:wrap;gap:4px 12px}
 .reading-accordion summary{font-size:19px}.accordion-meta{font-size:.75rem}
 .accordion-copy,.personal-digest .digest-theme p{font-size:1rem;line-height:1.85}
 .section-nav{font-size:.8125rem;gap:12px 20px}.report-navigation{font-size:.8125rem;gap:20px;overflow-x:auto}
 .result-actions .button{font-size:.8125rem;min-height:44px}
 .chapter-heading>span{font-size:.75rem;line-height:1.8}
 .chapter-heading{flex-wrap:wrap;gap:8px 16px}.chapter-heading>span{max-width:none;text-align:left}
 .trinity article>div{min-width:0;max-width:100%}.trinity h3{overflow-wrap:anywhere}
 .premium-preview{min-height:300px}.premium-compact{min-height:250px}
 .premium-overlay>p,.premium-compact .premium-overlay>p{font-size:.875rem}
 .premium-overlay .button,.premium-compact .button{font-size:.9375rem}
 .premium-label,.premium-compact .premium-label{font-size:.75rem}
 .report-offer{padding:26px 22px}.report-offer>div>p{font-size:1rem}
 .offer-chapters h3{font-size:1rem}.offer-chapters p{font-size:.875rem}
 .tool-rows p,.tool-example p,.tool-guide .houses-grid p{font-size:1rem}
 .checkout-included>div{font-size:.9375rem}.checkout-report{padding:20px}
 .checkout-price .overline,.checkout-demo-note{font-size:.8125rem}.checkout-price strong{font-size:38px}
 .polished-checkout .fine-print,.checkout-story>.fine-print{font-size:.8125rem}
}
@media(max-width:380px){
 .natal-opening .field-row{grid-template-columns:1fr;gap:0}
 .trinity{grid-template-columns:1fr}
 .trinity article{flex-direction:row;align-items:center;justify-content:flex-start;min-height:86px;border-right:0;border-bottom:1px solid var(--rule);gap:18px;padding:18px}
}
@media print{.natal-benefits,.checkout-report{display:none!important}}

.payment-test-banner{padding:12px 24px;background:#fff3c9;color:#473c25;border-bottom:1px solid #d6be6d;font-size:14px;line-height:1.5;text-align:center}.payment-test-banner strong{font-weight:600}

/* Checkout stays on the report; native dialog yields to the payment widget. */
.site-footer[hidden]{display:none!important}
body.checkout-open{overflow:hidden}
.checkout-dialog{width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:32px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);overflow:auto;box-sizing:border-box;border-radius:4px;box-shadow:0 24px 80px #143d3933}
.checkout-dialog::backdrop{background:#153b3966;backdrop-filter:blur(3px)}
.checkout-dialog .checkout-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:transparent;font-size:28px;line-height:1;color:inherit;cursor:pointer}
.checkout-dialog-head h2{font-size:2.1rem;line-height:1.15;margin:10px 0 12px;font-weight:400}
.checkout-dialog-head p{font-size:.9rem;line-height:1.6;margin:0 0 18px}
.checkout-mini{padding:16px 18px;border:1px solid var(--rule);background:var(--surface);margin:18px 0}
.checkout-mini h3{font-size:1.2rem;margin:8px 0;font-weight:400}
.checkout-mini p{font-size:.85rem;line-height:1.65;margin:0 0 12px}
.checkout-locked{display:flex;align-items:center;gap:8px;border-top:1px solid var(--rule);padding-top:12px;font-size:.75rem}
.checkout-locked svg{width:16px;height:16px;flex:none}
.checkout-tools{display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;margin:16px 0;list-style:none;font-size:.8rem}
.checkout-tools li:before{content:'✓';margin-right:6px}
.checkout-dialog .checkout-price{margin:16px 0;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);gap:16px}
.checkout-dialog .checkout-price strong{font-size:2.2rem;white-space:nowrap}
.checkout-dialog .checkout-price span{font-size:.85rem}
.checkout-dialog .field{margin-bottom:8px}
.checkout-dialog .fine-print{line-height:1.55;margin:8px 0 16px}
.checkout-dialog .checkout-consent{font-size:.78rem;line-height:1.55;align-items:flex-start;gap:10px;margin:14px 0;min-height:0}
.checkout-dialog .checkout-consent input{margin:2px 0 0}
.checkout-dialog .checkout-consent strong{font-weight:500}
.checkout-dialog .wide-button{width:100%;margin-top:8px}
.checkout-secure{text-align:center;font-size:.72rem;line-height:1.5;margin:12px 0 0}
.checkout-merchant{text-align:center;font-size:.65rem;line-height:1.5;margin:14px 0 0}
@media(max-width:560px){.checkout-dialog{padding:26px 22px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.checkout-dialog-head h2{font-size:1.9rem}.checkout-mini{padding:14px}.checkout-dialog .checkout-consent{font-size:.8rem}}

.checkout-dialog{padding:26px 30px}.checkout-mini{margin:12px 0;padding:14px 16px}.checkout-dialog-head p{margin-bottom:12px}.checkout-tools{margin:12px 0}.checkout-dialog .checkout-price{margin:12px 0;padding:10px 0}
.report-unlock-bar{position:fixed;z-index:30;right:24px;bottom:20px;display:flex;align-items:center;gap:18px;padding:10px 12px 10px 20px;background:var(--paper);border:1px solid var(--rule);box-shadow:0 8px 30px #153b3926;border-radius:4px;font-size:.8rem}
.report-unlock-bar[hidden]{display:none}.report-unlock-bar .button{min-height:44px;padding:10px 18px}
body:has(.report-unlock-bar:not([hidden])){padding-bottom:88px}
@media(max-width:560px){.checkout-dialog{padding:26px 22px}.report-unlock-bar{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:10px;padding:8px 10px;justify-content:space-between}.report-unlock-bar>span{font-size:.72rem}.report-unlock-bar .button{font-size:.82rem;padding:10px 12px}}
/* Locked chapters fill the report column, while reading paragraphs remain readable. */
.accordion-copy:has(>.premium-preview){max-width:none;padding-right:0}
.accordion-copy:has(>.premium-preview)>p{max-width:752px}
.accordion-copy>.premium-preview{width:100%;box-sizing:border-box}
.accordion-copy>.premium-preview .premium-overlay{max-width:680px}
.accordion-copy>.premium-preview .premium-overlay>p{max-width:560px}
@media(max-width:760px){.accordion-copy>.premium-preview .premium-overlay{max-width:100%}.accordion-copy>.premium-preview .button{max-width:none;min-width:0}}

/* Long page titles must stay inside narrow phone screens. */
main h1,main h2,.checkout-dialog h2{overflow-wrap:anywhere}
.info-page,.info-page a,.merchant-card{overflow-wrap:anywhere}

@media(max-width:480px){.legal-page h1{font-size:clamp(26px,6.75vw,32px)}}

/* mtx-stack-mobile */
@media(max-width:560px){.table-scroll{overflow-x:visible;margin:22px 0}.table-scroll table{min-width:0;width:100%}.table-scroll thead{display:none}.table-scroll tbody,.table-scroll tr,.table-scroll td{display:block;width:100%}.table-scroll tr{border:0;border-top:1px solid var(--rule);padding:13px 0}.table-scroll tbody tr:first-child{border-top:0;padding-top:2px}.table-scroll td{border:0;padding:0;margin:0;white-space:normal;overflow-wrap:break-word}.table-scroll td+td{margin-top:5px}.table-scroll td:first-child{font:10px/1.6 var(--mono);color:var(--muted);letter-spacing:.4px;text-transform:uppercase}}

/* loading ritual 2026-10-09b */
.loading-dialog{background:var(--surface);border:1px solid var(--rule);box-shadow:10px 10px 0 rgba(32,63,66,.08);padding:40px 34px}
.loading-dialog::backdrop{background:rgba(229,238,234,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.loading-symbol{position:relative;width:112px;height:112px;margin:0 auto 20px;font:30px/112px var(--serif);color:var(--accent);text-align:center}
.loading-symbol::before,.loading-symbol::after{content:'';position:absolute;inset:0;border-radius:50%}
.loading-symbol::before{border:1px solid var(--rule)}
.loading-symbol::after{inset:9px;border:1px dashed var(--accent);opacity:.55;animation:cvspin 12s linear infinite}
@keyframes cvspin{to{transform:rotate(360deg)}}
.loading-dialog h2{font-family:var(--display);font-size:29px;letter-spacing:.2px}
#loadingStatus{font:italic 15px/1.6 var(--serif);color:var(--muted);min-height:24px;transition:opacity .2s}
.loading-line{margin-top:26px}
@media (prefers-reduced-motion:reduce){.loading-symbol::after{animation:none}}
@media (max-width:480px){.loading-dialog{padding:30px 20px}.loading-dialog h2{font-size:25px}}

/* ritual wheel 2026-10-09c */
.loading-symbol{width:168px;height:168px;margin:0 auto 14px;font:0/0 var(--serif);color:var(--accent)}
.loading-symbol::before,.loading-symbol::after{content:none}
.loading-symbol svg{width:100%;height:100%;display:block}
.rw-spin{animation:rwspin 48s linear infinite;transform-origin:80px 80px}
.rw-spin-rev{animation:rwspin 26s linear infinite reverse;transform-origin:80px 80px}
.rw-aspect{stroke-dasharray:1;stroke-dashoffset:1;animation:rwdraw 5s ease-in-out infinite}
.rw-halo{transform-origin:80px 80px;animation:rwpulse 2.2s ease-in-out infinite}
@keyframes rwspin{to{transform:rotate(360deg)}}
@keyframes rwdraw{0%{stroke-dashoffset:1;opacity:0}12%{opacity:.9}50%{stroke-dashoffset:0;opacity:.9}88%{opacity:.9}100%{stroke-dashoffset:-1;opacity:0}}
@keyframes rwpulse{0%,100%{transform:scale(1);opacity:.4}50%{transform:scale(1.5);opacity:.12}}
@media (prefers-reduced-motion:reduce){.rw-spin,.rw-spin-rev,.rw-halo{animation:none}.rw-aspect{animation:none;stroke-dashoffset:0;opacity:.7}}
