/* Shared type scale. Interface miniatures keep their own deliberate reduction. */
:root{--type-body:16px;--type-reading:18px;--type-secondary:14px;--type-label:12px;--type-leading:1.7}
body.horizon-type{font-size:var(--type-body);line-height:var(--type-leading)}
body.horizon-type main p:not(:where(.hero-app *,.demo-stage *,.energy-visual *,.tax-paper *,.ad-example *,.resource-paper *,.resource-chart *)){font-size:var(--type-body);line-height:var(--type-leading)}
body.horizon-type :is(.btn,.text-link,.demo-link){font-size:var(--type-body);line-height:1.5}
body.horizon-type :is(.eyebrow,.small-label,.category-label,.resource-format,.article-format,.article-step,.image-tag,.feature-stamp,.plan-cap,.offer-top>p,.offer-recommended,.projection-demo,.demo-label){font-size:var(--type-label);line-height:1.6;letter-spacing:.08em}
body.horizon-type main :is(.hero-description,.journey-copy>p,.tool-card>p,.start-steps p,.plan-description,.plan-features li,.faq-list p,.wealth-copy>p:not(.eyebrow),.wealth-benefits li,.principle-grid p,.wealth-deliverables p:not(.eyebrow),.valuation-story>div>p:not(.eyebrow),.resource-tool-link>p,.resource-feature-copy>p,.resource-journal-side p,.resource-path-heading p,.resource-saved-empty p,.editorial-card-copy>p,.category-note p,.carnet-conversion p:not(.eyebrow),.article-product p:not(.eyebrow),.paths-list p){font-size:var(--type-body);line-height:var(--type-leading)}
body.horizon-type main :is(.section-aside,.inner-hero>div>p:not(.eyebrow),.category-description,.article-deck){font-size:var(--type-body);line-height:var(--type-leading)}
body.horizon-type :is(.hero-footnote,.maker-note,.scene-disclaimer,.closing-caption,.billing-detail,.lot-definition,.offer-billing,.pricing-bottom,.pricing-under-cards,.pricing-footnote,.free-workspace p,.projection-note,.projection-details,.projection-details summary,.projection-axis,.control-label,.valuation-note,.equation-result p,.edition-note,.feature-caption,.feature-byline,.article-meta,.card-bottom,.result-count,.article-heading-bottom,.article-cover figcaption,.article-end,.checklist-storage-note,.resource-storage-note,.resource-progress,.resource-receipt-note,.stay-caption,.stay-properties>div,.stay-chart>div,.stay-chart b,.stay-legend){font-size:var(--type-secondary);line-height:1.65}
body.horizon-type :is(.pricing-bottom,.pricing-under-cards,.maker-note,.feature-byline,.article-heading-bottom,.article-meta,.card-bottom,.article-end)>:is(span,b,small,a,time){font-size:inherit;line-height:inherit}
body.horizon-type :is(.theme-nav,.filter-list button,.sort-label select,.sort-label,.article-toc a,.article-toc a>span,.article-actions button,.article-actions a,.share-article,.checklist-reset,.checklist-bottom button,.checklist-bottom .text-link,.resource-path-panel li>a,.resource-path-actions button,.resource-saved-card button,.resource-saved-card>div a,.resource-selection-link,.other-themes a){font-size:var(--type-secondary);line-height:1.5}
body.horizon-type :is(.carnet-search input,.feature-search input,.resource-search input,.module-picker select,.priority-picker select){font-size:var(--type-body);line-height:1.5}
body.horizon-type main :is(label,.control-label){font-size:var(--type-secondary);line-height:1.5}
body.horizon-type :is(.journey-tabs,.billing-toggle,.price-cycle,.growth-options,.stay-filters) button{font-size:var(--type-secondary);line-height:1.5}
body.horizon-type :is(.billing-toggle,.price-cycle) button>span{font-size:var(--type-label);line-height:1.5}
body.horizon-type :is(.theme-nav,.filter-list) :is(span,b),body.horizon-type .saved-nav b{font-size:var(--type-label);line-height:1.5}
body.horizon-type .article-prose{font-size:var(--type-reading);line-height:1.85}
body.horizon-type .article-prose :is(p,li){font-size:inherit;line-height:inherit}
body.horizon-type .article-prose .article-step{font-size:var(--type-label);line-height:1.6}
body.horizon-type .article-prose :is(.vacancy-calculator>p,.checklist-storage-note){font-size:var(--type-secondary);line-height:1.65}
body.horizon-type .article-prose .article-product p:not(.eyebrow){font-size:var(--type-body);line-height:var(--type-leading)}
body.horizon-type .article-prose .article-product .eyebrow{font-size:var(--type-label);line-height:1.6}
body.horizon-type .article-prose .article-checklist>label{font-size:var(--type-body);line-height:1.65}
body.horizon-type :is(.calculator-header,.checklist-bottom output,.calculator-inputs output,.calculator-result>span,.author-initials,.quick-read small,.quick-read>div>span,.feature-byline>div>span){font-size:var(--type-secondary);line-height:1.5}
body.horizon-type .article-prose .diagnostic-rows :is(span,p){font-size:var(--type-body);line-height:1.7}
body.horizon-type .article-prose h3{font-size:26px;line-height:1.3}
body.horizon-type :is(.section-heading h2,.comparison-intro h2,.pricing-value-heading h2,.resource-section-heading h2,.library-heading h2){font-size:clamp(36px,3.6vw,52px);line-height:1.1}
body.horizon-type .article-prose h2{font-size:clamp(32px,3vw,42px);line-height:1.15}
body.horizon-type .faq-list summary{font-size:18px;line-height:1.5}
body.horizon-type .promise-strip span{font-size:var(--type-secondary);line-height:1.5}
body.horizon-type :is(.route-card-title p,.route-step b,.route-step small,.transaction-example>span,.transaction-example>div,.transaction-example>p:last-child,.wealth-equation>div>span,.valuation-paper>p:not(.eyebrow),.valuation-paper>div){font-size:var(--type-secondary);line-height:1.6}
body.horizon-type .plan-features .icon{flex-shrink:0}
body.horizon-type .price small,body.horizon-type .offer-amount small{font-size:var(--type-secondary);line-height:1.5}
body.horizon-type .scene-note,body.horizon-type .floating-equity,body.horizon-type .photo-caption{font-size:var(--type-label)}
body.horizon-type .site-header :is(.desktop-nav a,.login){font-size:var(--type-body)}
body.horizon-type .site-header .nav-cta{font-size:var(--type-secondary);line-height:1.4}
.nav-copy-short{display:none}
@media(max-width:767px){
 body.horizon-type .article-prose{font-size:17px}
 body.horizon-type .article-prose h3{font-size:24px}
 body.horizon-type .faq-list summary{font-size:var(--type-body)}
 body.horizon-type .site-header .nav-cta{font-size:var(--type-secondary);padding-inline:14px;gap:10px;white-space:nowrap}
 body.horizon-type .nav-copy-long{display:none}
 body.horizon-type .nav-copy-short{display:inline}
 body.horizon-type .comparison-table thead strong{font-size:var(--type-body);line-height:1.3}
 body.horizon-type .mobile-plan-label{font-size:var(--type-label);line-height:1.5}
 body.horizon-type .article-toc{grid-template-columns:1fr}
 body.horizon-type .carnet-search{min-width:0}
 body.horizon-type .journey-tabs{flex-wrap:wrap}
}
/* Secondary content and controls shared by the product, comparison and journal. */
body.horizon-type main .benefit-list li{font-size:var(--type-body);line-height:1.7}
body.horizon-type :is(.explorer-footer,.portfolio-picker p,.projection-details p,.projection-controls output,.transaction-example>p:not(.eyebrow),.breadcrumb,.breadcrumb a,.breadcrumb span,.article-source p,.article-source a,.article-end .save-article,.article-end .save-article span){font-size:var(--type-secondary);line-height:1.65}
body.horizon-type #portfolio-value{font-size:var(--type-secondary)}
body.horizon-type .range-labels,body.horizon-type .range-limits{font-size:var(--type-label);line-height:1.5}
body.horizon-type .range-labels span,body.horizon-type .range-limits span{font-size:inherit;line-height:inherit}
body.horizon-type :is(.explorer-footer,.calculator-header,.checklist-top)>:is(a,span){font-size:var(--type-secondary);line-height:1.5}
body.horizon-type :is(.offer-benefits>p,.art-label,.resource-feature-image>span,.category-note>span){font-size:var(--type-label);line-height:1.6}
body.horizon-type .inner-closing .eyebrow{font-size:var(--type-label);line-height:1.6}
body.horizon-type .comparison-table thead small{font-size:var(--type-secondary);line-height:1.5}
body.horizon-type :is(.start-steps>li>span,.principle-grid article>span){font-size:var(--type-secondary);line-height:1.5}
body.horizon-type .category-visual b{font-size:var(--type-secondary);line-height:1.5}
body.horizon-type :is(.hero-description,.inner-hero>div>p:not(.eyebrow),.pricing-intro>p:not(.eyebrow),.resource-hero>div>p:not(.eyebrow),.article-subtitle){font-size:18px;line-height:1.75}
@media(max-width:767px){body.horizon-type :is(.hero-description,.inner-hero>div>p:not(.eyebrow),.pricing-intro>p:not(.eyebrow),.resource-hero>div>p:not(.eyebrow),.article-subtitle){font-size:var(--type-body);line-height:1.7}}

body.horizon-type main .eyebrow{font-size:var(--type-label);line-height:1.6}

body.horizon-type .resource-product .btn{font-size:var(--type-body);line-height:1.5}

body.horizon-type #demo-dialog :is(p,li),body.horizon-type #ad-output{font-size:var(--type-body);line-height:1.7}
body.horizon-type #demo-dialog .dialog-caption,body.horizon-type .dialog-list small{font-size:var(--type-secondary);line-height:1.65}
body.horizon-type .ad-controls select{font-size:var(--type-body);line-height:1.5}
@media(max-width:767px){body.horizon-type .masthead-aside{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:none;padding-bottom:0}body.horizon-type .masthead-aside .text-link{max-width:none;margin:0}}
body.horizon-type :is(.feature-byline b,.article-heading-bottom b){font-size:var(--type-secondary);line-height:1.5}
