/* Readability foundation only. The two page layouts remain independent. */
.brand-theme-blue{--text-ink:#1d2e45;--text-body:#44566c;--text-secondary:#53657c;--text-meta:#607089;font-size:15px}
.brand-theme-warm{--text-ink:#26372c;--text-body:#485746;--text-secondary:#596650;--text-meta:#626f58;--accent:#9a542f;font-size:15px}

/* Normal explanatory copy must read as content, not as a watermark. */
:is(.brand-theme-blue,.brand-theme-warm) :is(.hero-description,.hero-intro p,.story-copy>p,.section-heading>p,.chapter-heading>p,.device-notes p,.choose-copy>p:not(.chapter-number),.faq-list details>p,.faq-grid details>p){font-size:15px;line-height:1.9;color:var(--text-body);font-weight:400}
:is(.brand-theme-blue,.brand-theme-warm) :is(.category-card p,.product-card>p,.facts-grid p,.steps-grid p,.guide-matrix p,.decision-list p,.register-strip p,.referral-box>div:nth-child(2)>p,.pricing-notes,.pricing-notes p>span,.trial-strip p,.price-footnote,.custom-note p){font-size:14px;line-height:1.9;color:var(--text-body)}
:is(.brand-theme-blue,.brand-theme-warm) :is(.hero .eyebrow,.hero-protocols,.micro-note,.hero-visual figcaption,.hero-device-art figcaption,.product-story figcaption,.checklist-art figcaption,.guide-preview figcaption,.tutorial-example-note,.results-count,.table-note,.table-note button,.category-card small,.small-label,.choice-box small,.protocol,.full-url){font-size:13px;line-height:1.8;color:var(--text-secondary)}
:is(.brand-theme-blue,.brand-theme-warm) :is(.hero h1,.hero-intro h1,.section-heading h2,.chapter-heading h2,.story-copy h2,.choose-copy h2){font-weight:600}
:is(.brand-theme-blue,.brand-theme-warm) :is(.faq-list summary,.faq-grid summary){font-size:16px;line-height:1.8;font-weight:500;color:var(--text-ink)}
:is(.brand-theme-blue,.brand-theme-warm) :is(.steps-grid h3,.guide-matrix h3,.device-notes h3,.category-card h3,.resource-links strong,.help-rows strong){font-weight:550;color:var(--text-ink)}

/* Header and functional controls. Selected controls retain white text. */
.brand-theme-blue .navigation>a{font-size:14px;font-weight:500;color:#435b7e}
.brand-theme-blue .navigation>a.is-active{color:var(--blue)}
.brand-theme-blue .navigation>.nav-register{color:#fff}
.brand-theme-warm .nav-inner>a{font-size:15px;font-weight:500;color:#495a41}
.brand-theme-warm .nav-inner>a.is-active{color:var(--accent)}
.brand-theme-warm .header-account{font-size:14px;font-weight:500;color:#495a41}
:is(.brand-theme-blue,.brand-theme-warm) :is(.button,.filter-button,.filter-controls button,.period-controls button){font-size:14px;font-weight:500}
.brand-theme-blue .filter-button{color:var(--text-secondary)}
.brand-theme-blue .filter-button.is-selected{color:#fff}
.brand-theme-blue .filter-button>span{opacity:1}
.brand-theme-warm .filter-controls button{color:var(--text-secondary)}
.brand-theme-warm .filter-controls button.is-selected{color:var(--text-ink);font-weight:600}
.brand-theme-warm .period-controls button{color:var(--text-secondary)}
.brand-theme-warm .period-controls button.is-selected{color:#fff}
:is(.brand-theme-blue,.brand-theme-warm) :is(.filter-reset,.text-link,.editorial-link,.category-bottom,.card-link){font-size:13px;font-weight:500}
.brand-theme-blue :is(.text-link,.category-bottom,.card-link){color:#245bd9}
.brand-theme-blue .filter-reset{color:var(--text-secondary)}
.brand-theme-warm .editorial-link{color:#536b44}

/* Products, quotations and units use a readable minimum size. */
.brand-theme-blue .card-prices :is(span,del,small){font-size:12px;color:var(--text-secondary)}
.brand-theme-blue .card-prices strong{font-weight:650;color:#254f9b}
.brand-theme-blue .card-prices .unavailable{font-size:13px;color:var(--text-meta)}
.brand-theme-blue .connection-table :is(th,td){font-size:14px;color:var(--text-body)}
.brand-theme-blue .connection-table thead th{font-size:13px;font-weight:500;color:var(--text-secondary)}
.brand-theme-blue .connection-table tbody th{font-weight:500;color:var(--text-ink)}
.brand-theme-blue .facts-grid strong{font-size:15px;font-weight:550}
:is(.brand-theme-blue,.brand-theme-warm) :is(.steps-grid>article>span,.decision-list li>span,.custom-note>span){font-size:13px;color:var(--text-secondary)}
.brand-theme-warm .referral-label>strong{color:var(--text-body);font-weight:600}
.brand-theme-warm .register-arrow{color:#536b44}
.brand-theme-warm .choice-box strong{font-size:16px;font-weight:500}
.brand-theme-warm .choice-box :is(small,.small-label){font-size:13px;color:var(--text-secondary)}
.brand-theme-warm .choice-box>.all-prices{font-size:14px;color:#945b32}
.brand-theme-warm .price-table tbody th{font-size:15px;font-weight:500;color:var(--text-ink)}
.brand-theme-warm .price-table tbody th small{font-size:12px;color:var(--text-secondary)}
.brand-theme-warm .price-table thead th{font-size:13px;font-weight:500;color:var(--text-secondary)}
.brand-theme-warm .price-table td :is(del,small){font-size:12px;color:var(--text-secondary)}
.brand-theme-warm .price-table td strong{font-weight:600;color:#405338}
.brand-theme-warm .price-table[data-active-period=day] td[data-period=day] strong,.brand-theme-warm .price-table[data-active-period=week] td[data-period=week] strong,.brand-theme-warm .price-table[data-active-period=month] td[data-period=month] strong{color:#9a542f}
.brand-theme-warm .price-table td:last-child{font-size:13px;color:#536b44}
.brand-theme-warm .not-sold{font-size:13px;color:var(--text-meta)}
.brand-theme-warm :is(.trial-strip strong,.custom-note strong,.decision-list strong){font-size:15px;font-weight:550}
.brand-theme-warm :is(.trial-strip>a,.custom-note>a,.hero-bottom>a){font-size:13px;color:#536b44}
.brand-theme-warm .hero-bottom>p{font-size:13px;color:var(--text-secondary)}
:is(.brand-theme-blue,.brand-theme-warm) :is(.resource-links small,.help-rows>a>span,.help-rows small,.referral-label>span,.tutorial-feature small,.tutorial-feature>span>span){font-size:13px;color:var(--text-secondary)}

/* Footer: longer introductions are useful only when people can actually read them. */
.brand-theme-blue .footer :is(.footer-brand>p,.footer-brand small,h3,a,button,.footer-bottom,.footer-bottom small){color:#bdcce1}
.brand-theme-blue .footer-brand>strong{color:#edf3fb}
.brand-theme-warm .footer :is(.footer-brand>p,.footer-brand small,h3,a,button,.footer-legal,.footer-legal>small){color:#4e6046}
:is(.brand-theme-blue,.brand-theme-warm) .footer-brand>p{font-size:14px;line-height:1.95}
:is(.brand-theme-blue,.brand-theme-warm) :is(.footer-top>div>a,.footer-top>div>button,.footer-grid>div>a,.footer-grid>div>button,.footer h3){font-size:13px;line-height:1.9}
:is(.brand-theme-blue,.brand-theme-warm) :is(.footer-brand>small,.footer-bottom small,.footer-legal>small){font-size:12px}
:is(.brand-theme-blue,.brand-theme-warm) :is(.footer-bottom,.footer-legal){font-size:13px;line-height:1.9}

/* Contact details are equally clear in either theme. */
:is(.brand-theme-blue,.brand-theme-warm) .contact-dialog :is(.contact-intro,.contact-label,.contact-hint,.contact-phone){font-size:13px;color:#536376}
:is(.brand-theme-blue,.brand-theme-warm) .contact-tabs button{font-size:14px;color:#536376}
:is(.brand-theme-blue,.brand-theme-warm) .contact-tabs button[aria-selected=true]{color:#215ea9}
:is(.brand-theme-blue,.brand-theme-warm) .copy-qq{font-size:13px}

@media(max-width:767px){
  :is(.brand-theme-blue,.brand-theme-warm) :is(.hero-description,.hero-intro p,.story-copy>p,.section-heading>p,.chapter-heading>p,.device-notes p,.choose-copy>p:not(.chapter-number),.faq-list details>p,.faq-grid details>p){font-size:14px}
  :is(.brand-theme-blue,.brand-theme-warm) :is(.category-card p,.product-card>p,.facts-grid p,.steps-grid p,.guide-matrix p,.decision-list p,.register-strip p,.referral-box>div:nth-child(2)>p,.pricing-notes,.trial-strip p,.price-footnote,.custom-note p){font-size:13px}
  :is(.brand-theme-blue,.brand-theme-warm) :is(.hero-protocols,.micro-note,.hero-visual figcaption,.hero-device-art figcaption,.product-story figcaption,.checklist-art figcaption,.guide-preview figcaption,.tutorial-example-note,.results-count,.table-note,.table-note button,.category-card small,.small-label,.choice-box small,.protocol,.full-url){font-size:12px}
  :is(.brand-theme-blue,.brand-theme-warm) :is(.faq-list summary,.faq-grid summary){font-size:15px}
  :is(.brand-theme-blue,.brand-theme-warm) :is(.filter-button,.filter-controls button,.period-controls button){font-size:12px}
  :is(.brand-theme-blue,.brand-theme-warm) .button{font-size:14px;padding-inline:14px;gap:12px}
  .brand-theme-blue .card-prices{gap:9px}.brand-theme-blue .card-prices>div+div{padding-left:10px}
  .brand-theme-blue .facts-grid strong{font-size:14px}
  .brand-theme-blue .connection-table :is(th,td){font-size:12px}.brand-theme-blue .connection-table thead th{font-size:12px}
  .brand-theme-warm .price-table tbody th{font-size:14px}.brand-theme-warm .price-table tbody th small{font-size:12px}
  .brand-theme-warm .price-table td:last-child{font-size:12px;padding-left:6px}
  .brand-theme-warm .choice-box strong{font-size:15px}.brand-theme-warm .choice-box :is(small,.small-label){font-size:13px}
  :is(.brand-theme-blue,.brand-theme-warm) .footer-brand>p{font-size:14px}
  :is(.brand-theme-blue,.brand-theme-warm) :is(.footer-bottom,.footer-legal){font-size:12px}
}
@media(max-width:359px){
  :is(.brand-theme-blue,.brand-theme-warm) .header-inner{gap:7px}
  :is(.brand-theme-blue,.brand-theme-warm) .contact-dock{gap:4px}
  :is(.brand-theme-blue,.brand-theme-warm) .menu-toggle{width:32px;height:34px}
  .brand-theme-blue .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
}
