/* Room for Drama — contrast and mobile corrections. Fleet appearance audit, 2026-09-20. Added as Additional CSS because this site sets DISALLOW_FILE_EDIT, so theme files cannot be edited. Every colour below is already in the Room for Drama palette. */ /* MailPoet ships #313131 as its body colour and writes it inline on its own elements, and this form ground was customised to ink #061424 — so the privacy line and its link measured 1.42:1 on every page carrying the form. Champagne is 12.84:1 on that ground and brass 9.09:1, which is what the form heading already uses. !important is needed to beat MailPoet inline styles, not for specificity. */ .mailpoet_form p, .mailpoet_form span, .mailpoet_form label, .mailpoet_form .mailpoet_paragraph { color: var(--dr-on-stage) !important; } .mailpoet_form h1 span, .mailpoet_form h2 span, .mailpoet_form h3 span { color: inherit !important; } .mailpoet_form a { color: var(--dr-accent-text) !important; } /* Brass-lit #E2C885 on paper is 1.5:1. Same metal, on-light value: 5.3:1. */ .eyebrow, p.eyebrow { color: var(--dr-accent-text) !important; } /* Rust #A83D29 on a brass fill is 3.06:1 against a 4.5:1 floor. Warm ink is 7.93:1. */ a.si-btn:not(.si-btn--ghost) { color: var(--dr-on-brass) !important; } /* 2026-09-25: was var(--dr-text), which is ivory in dark sections (2.3:1 on brass); the brass fill always takes navy, 6.7:1. */ /* Two 12px labels on the Room Edits cards, both under the 4.5:1 floor on paper: the state read 4.18:1 and the door 2.86:1. Same hues, taken down to 4.56:1 and 4.68:1. */ .pp-card__state { color: var(--dr-drama-text) !important; } .pp-card__door { color: var(--dr-accent-text) !important; } /* --- Mobile: horizontal scroll ---------------------------------------- Measured at 390px. A page that scrolls sideways on a phone is the most noticeable layout fault there is, and each of these is containment rather than design: the content is meant to be wide, the wrapper is meant to clip. The first pass scoped the SVG rule to main and the marquee to the home page, which left it fixed on pages and still broken on six posts. The full crawl found those; a page-only sweep had not. Scoped by element now, not by where the element happens to sit. */ /* The home marquee track runs 1622px past the viewport because nothing clips it. */ .rfdl-marquee, [class*="marquee"]:not([class*="track"]) { overflow: hidden !important; max-width: 100% !important; } /* The fleet strip lays its links in one row and runs 229px over. */ .rfd-fleet-strip__links { flex-wrap: wrap !important; } /* Diagram SVGs carry intrinsic widths up to 295px wider than a phone. Not scoped to main: three of the six were in post content outside it. A bare max-width does not constrain an SVG with a fixed width attribute, so the width is reset too, and the viewBox keeps the aspect ratio. */ svg { max-width: 100% !important; height: auto; } svg[width] { width: auto !important; } @media (max-width: 782px) { html, body { overflow-x: clip; } figure, .wp-block-image, .wp-block-table { max-width: 100% !important; overflow-x: auto; } } /* --- Second pass, same day. Found once the audit probe stopped skipping short labels and text under gradients. --- */ /* Two kickers written for dark heroes and used once each on paper. The eyebrow rule above is (0,1,1) with !important; the theme states .eyebrow.brass at (0,2,0) with !important, so on the cream what's-going-wrong section the lit copper won at 1.5:1. The toolkit kicker is gold #D4B16A everywhere, right in the dark tool heroes and 1.78:1 in the light prose section on /layout-flow/. Both are scoped to the light container they fail in, so the heroes keep their metal. Warm brass #74613B is 5.50:1 there. */ .wgw .eyebrow.brass { color: var(--dr-accent-text) !important; } .rfd-prose .rfta__kicker { color: var(--dr-accent-text) !important; } /* Two room-palette accents set as small label text in post content: 4.48:1 and 4.46:1, a hair under the floor. They carry no class, so they are matched on their own inline colour, and only on paragraphs — the same hexes are used for borders and fills elsewhere in those posts and are left alone. Taken down to 4.86:1 and 4.99:1. */ p.has-text-color[style*="#8a673f" i] { color: var(--dr-accent-text) !important; } p.has-text-color[style*="#7c6a3f" i] { color: var(--dr-accent-text) !important; } /* Cover photos did not fill their covers. The image plugin wraps each cover <img> in a static <picture class="nlhie-picture">, and the image comes out at its natural height instead of Gutenberg's inset:0 / height:100%. On a phone the cover grows as the text wraps, so on /small-spaces/ the photo filled the top 198px of a 692px cover and the rest of the headline, the standfirst and both buttons sat on the bare dim over the page — a flat grey-green, light text at about 3:1. Confirmed on a screenshot, not just measured. This puts the photo back under all of the cover's text, which is what the dim was chosen for. */ .wp-block-cover .nlhie-picture > img.wp-block-cover__image-background, .wp-block-cover > picture > img.wp-block-cover__image-background { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; } /* --- On this page removed — owner decision, 2026-09-21. The rail held the article column at 69% of the viewport, under the fleet's 85–90% interior standard; without it the column takes the whole 90% well. The phone version is a separate <details class="rfd-toc-mobile"> and goes too. The rail is shown elsewhere with a display !important and placed explicitly in column 2, so a bare hide left it standing in an implicit second track — hence the weight. Reversing it is deleting this block. */ html body.rfd-site .rfd-page-body__grid.rfd-page-body__grid.rfd-page-body__grid > :is(aside.rfd-page-rail.rfd-page-rail, .rfd-toc-sticky-ph.rfd-toc-sticky-ph) { display: none !important; } html body.rfd-site .evs-well.rfd-page-body__grid.rfd-page-body__grid.rfd-page-body__grid { grid-template-columns: minmax(0, 1fr) !important; } html body.rfd-site details.rfd-toc-mobile.rfd-toc-mobile { display: none !important; } /* Room Edits studies (/room-edits/…) read in a 760px column — 47% of a 1440 screen, a long narrow column by the fleet's own standard — and the paragraphs inside carry a further 857px cap. At desktop widths the body takes the 90% shell and the paragraphs its full width: 84% at 1440, 82% at 1024. Phones already read at 90% and are left alone. */ @media (min-width: 783px) { html body .rfd-pp .pp-body.pp-body { max-width: 90% !important; margin-inline: auto !important; } html body .rfd-pp .pp-body.pp-body > p { max-width: none !important; } }
/* Type floor — fleet appearance audit, 2026-09-21. Generated, not hand-written.
   Every font-size in this site's own stylesheets that could render under 12px is re-declared here, same selector and same media query, as max(12px, original); running text also gets max(14px, original) on phones. max() keeps the original wherever it is larger, and the set was checked against every published URL at 390 and 1440px (and a sample at 1024px) so that nothing got smaller and nothing overflowed. Rules that did shrink something on some page were dropped. Regenerate with field-ops-desk/scripts/fleet-appearance (srcfloor2, fullprune, compact) rather than editing by hand. */
.rfd-site .rfd-mosaic--catalogue figcaption span,.rfdl-eyebrow,.rfdl-nav-links,.rfdl-nav-cta,.rfdl-mobile-nav__close,.rfdl-btn,.rfdl-scroll{font-size:12px}
.rfdl-marquee-track span{font-size:max(12px, clamp(.7rem,1.1vw,.95rem))}
@media (max-width: 782px){.rfdl-marquee-track span{font-size:max(14px, clamp(.7rem,1.1vw,.95rem))}}
.rfdl-marquee-track b{font-size:max(12px, 0.65em)}
.rfdl-caption-cta,.rfdl-tile figcaption .rfdl-tile-cta,.rfdl-chips span,.rfdl-story-cta,.rfdl-footer small,.rfdl-home .rfde-card__cat,.rfdl-home .rfde-latest__foot a,.rfdl-home .rfde-swap__pair,.rfdl-home .rfde-footer-heading,.rfd-sequence__grid.rfd-stages > li.rfd-stage > span.rfd-stage__num,.rfd-case-preview__state{font-size:12px}
.rfd-nav-seq__arrow{font-size:max(12px, 0.75em)}
.rfd-hybrid-search kbd,.rfd-hybrid-search button[type="submit"],.rfd-search-panel__heading,.rfd-hybrid__cta,.rfd-living-framework,.rfd-hybrid__pillars > a, .rfd-hybrid__pillars .rfd-nav-trigger,.rfd-hybrid .rfd-dropdown__heading,.rfd-hybrid .rfd-dropdown__label,.rfd-hybrid .rfd-breadcrumbs{font-size:12px}
@media (max-width: 560px){.rfd-hybrid-search button[type="submit"] span{font-size:12px}}
.rfd-mode-switch a{font-size:12px}
@media (max-width: 560px){.rfd-mode-switch a{font-size:12px}}
.rfd-pp .pp-btn small,.rfd-pp .pp-figure figcaption .pp-ev,.rfd-pp .pp-body th,.rfd-pp .pp-card__door,.rfd-pp .pp-card__state,.rfd-practice-dual .rfd-card-label, .rfd-practice-record .rfd-card-label{font-size:12px}
:where(.wpconsent-cookie-policy-table){font-size:max(12px, 0.9em)}
.rfq-hero__eyebrow,.rfq-canvas__cap,.rfq-read__eyebrow,.rfq-next__eyebrow,.rfd-squint-note__mark,.rff-hero__eyebrow,.rff-bar__tally,.rff-act,.rff-row__basis,.rff-row__basis span,.rff-input__unit,.rff-row__under span, .rff-row__check span,.rff-close__eyebrow,.rfl-hero__eyebrow,.rfl-facet__label,.rfl-count,.rfl-act{font-size:12px}
@media (max-width: 520px){.rfl-tile__kicker{font-size:12px}}
.rfl-tile__kicker,.rfl-more__btn,.rfl-close__eyebrow{font-size:12px}
.woocommerce #content table.cart td.actions .coupon .coupon-error-notice, .woocommerce table.cart td.actions .coupon .coupon-error-notice, .woocommerce-page #content table.cart td.actions .coupon .coupon-error-notice, .woocommerce-page table.cart td.actions .coupon .coupon-error-notice{font-size:max(12px, 0.75em)}
.woocommerce small.note{font-size:max(12px, 0.857em)}
.woocommerce div.product p.stock{font-size:max(12px, 0.92em)}
.woocommerce div.product form.cart .reset_variations{font-size:max(12px, 0.83em)}
.woocommerce span.onsale,.woocommerce ul.products li.product .star-rating,.woocommerce ul.products li.product .price{font-size:max(12px, 0.857em)}
.woocommerce ul.products li.product .price .from{font-size:max(12px, 0.67em)}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{font-size:max(12px, 0.83em)}
.woocommerce table.my_account_orders{font-size:max(12px, 0.85em)}
.woocommerce td.product-name p.backorder_notification{font-size:max(12px, 0.83em)}
.woocommerce form.checkout_coupon .coupon-error-notice{font-size:max(12px, 0.75em)}
.woocommerce ul.order_details li{font-size:max(12px, 0.715em)}
.woocommerce .widget_price_filter .price_slider_amount{font-size:max(12px, 0.8751em)}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{font-size:max(12px, 0.7em)}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb{font-size:max(12px, 0.92em)}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) #reviews #comments ol.commentlist li .meta,#add_payment_method table.cart td.actions .coupon .coupon-error-notice, .woocommerce-cart table.cart td.actions .coupon .coupon-error-notice, .woocommerce-checkout table.cart td.actions .coupon .coupon-error-notice{font-size:max(12px, 0.75em)}
#add_payment_method .cart-collaterals .cart_totals p small, .woocommerce-cart .cart-collaterals .cart_totals p small, .woocommerce-checkout .cart-collaterals .cart_totals p small{font-size:max(12px, 0.83em)}
#add_payment_method .checkout .create-account small, .woocommerce-cart .checkout .create-account small, .woocommerce-checkout .checkout .create-account small{font-size:12px}
#add_payment_method .checkout .checkout-inline-error-message, .woocommerce-cart .checkout .checkout-inline-error-message, .woocommerce-checkout .checkout .checkout-inline-error-message{font-size:max(12px, 0.75em)}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box{font-size:max(12px, 0.92em)}
#add_payment_method #payment div.payment_box span.help, .woocommerce-cart #payment div.payment_box span.help, .woocommerce-checkout #payment div.payment_box span.help{font-size:max(12px, 0.857em)}
#add_payment_method #payment .payment_method_paypal .about_paypal, .woocommerce-cart #payment .payment_method_paypal .about_paypal, .woocommerce-checkout #payment .payment_method_paypal .about_paypal{font-size:max(12px, 0.83em)}
.woocommerce-order-withdrawal-content .description, .woocommerce-order-withdrawal-content__field-description, .woocommerce-order-withdrawal-content__note,.woocommerce-order-withdrawal-content__field-error,.woocommerce-order-withdrawal-content__steps,.woocommerce-order-withdrawal-content__review-row dt,.wc-block-checkout-axo-block-card__edit{font-size:max(12px, 0.875em)}
.rfd-route__kicker,.rfd-pulse-dimensions li,.rfd-pulse-steps span,.rfd-toolkit-card__name,.rfd-house-card__name,.rfd-house-card::after,.rfd-record-fields span{font-size:12px}
@media (max-width: 782px){.rfd-record-fields em{font-size:14px}}
.rfd-sequence__grid span,.rfd-case-preview__num,.rfd-case-preview dt,.rfd-case-preview__cta,.rfd-gateway__card span,.rfd-case-hub-card__title span,.rfd-case-hub-card__evidence strong,.rfd-submit-card__step,.rfd-submit-card__go a,.payment-methods--logos-count{font-size:12px}
#wcpay-woopay-button .woopay-express-button .woopay-button-last4{font-size:max(12px, 0.75em)}
#wcpay-woopay-button .woopay-express-button[data-size="small"] .woopay-button-last4{font-size:max(12px, 0.7em)}
#wcpay-woopay-button .woopay-express-button[data-size="large"] .woopay-button-last4{font-size:max(12px, 0.8em)}
.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{font-size:max(12px, 0.875em)}
.theme-twentynineteen .wc-block-grid__product{font-size:max(12px, 0.88889em)}
.theme-twentytwenty .wc-block-components-product-price .woocommerce-Price-amount, .theme-twentytwenty .wc-block-components-product-price__value, .theme-twentytwenty .wc-block-grid__product-price .woocommerce-Price-amount, .theme-twentytwenty .wc-block-grid__product-price__value{font-size:max(12px, 0.9em)}
.theme-twentytwenty .star-rating, .theme-twentytwenty .wc-block-grid__product-rating{font-size:max(12px, 0.7em)}
.theme-twentytwenty .wc-block-active-filters .wc-block-active-filters__clear-all, .theme-twentytwenty .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{font-size:max(12px, 0.75em)}
@media only screen and (min-width: 768px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:max(12px, 0.875em)}}
@media only screen and (min-width: 1168px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:max(12px, 0.875em)}}
.wc-block-components-product-stock-indicator{font-size:max(12px, 0.875em)}
.theme-twentytwenty .wc-block-grid.has-6-columns .wc-block-grid__product, .wc-block-grid.has-6-columns .wc-block-grid__product{font-size:max(12px, 0.5em)}
.theme-twentytwenty .wc-block-grid.has-5-columns .wc-block-grid__product, .theme-twentytwenty .wc-block-grid.has-6-columns.alignfull .wc-block-grid__product, .wc-block-grid.has-5-columns .wc-block-grid__product, .wc-block-grid.has-6-columns.alignfull .wc-block-grid__product{font-size:max(12px, 0.58em)}
.theme-twentytwenty .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .theme-twentytwenty .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product, .wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product, .wc-block-grid.has-5-columns.alignfull .wc-block-grid__product{font-size:max(12px, 0.75em)}
.theme-twentytwenty .wc-block-grid.has-3-columns:not(.alignwide):not(.alignfull), .wc-block-grid.has-3-columns:not(.alignwide):not(.alignfull){font-size:max(12px, 0.92em)}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{font-size:max(12px, 0.9em)}
.wc-block-components-product-sale-badge,.wc-block-components-product-rating-stars__link,.wc-block-components-totals-shipping .wc-block-components-shipping-placeholder__value,.wc-block-components-totals-shipping .wc-block-components-totals-shipping__via,.wc-block-components-chip .wc-block-components-chip__text{font-size:max(12px, 0.875em)}
.wc-block-components-checkout-step__heading-content{font-size:max(12px, 0.75em)}
.wc-block-components-notice-banner{font-size:max(12px, 0.875em)}
.mr-hero__eyebrow,.mr-entry__body dt{font-size:12px}
@media (max-width: 782px){.mr-entry__basis dd{font-size:14px}}
@media print{@media (max-width: 782px){.mr-entry__body dd{font-size:14px}}}
.si-reader__head .eyebrow, .si-atlas__head .eyebrow,.si-out__eyebrow,.si-out__block p span,.si-out__job p span,.si-atlas__index-summary,.si-atlas__index-family,.si-card__fold-toggle{font-size:12px}
.si-card__fold-toggle::after{font-size:max(12px, 0.8em)}
.si-card__row dt,.si-card__jobs-label,.wgw__head .eyebrow,.wgw-item__means span,.wgw__shelves-row a b,.nl-assign__head .eyebrow, .nl-register__head .eyebrow{font-size:12px}
@media (max-width: 782px){.nl-room__note{font-size:14px}}
.nl-out__eyebrow,.nl-out__rank,.nl-out__item p span,.nl-card__anchor span,.nl-card__col h4,.nl-card__fails span, .nl-card__strange span, .nl-card__likes span{font-size:12px}
.rfdl-eyebrow, .rfdl-brass, p.rfdl-eyebrow.rfdl-brass, [class*="eyebrow"]{font-size:max(12px, var(--tds-meta))!important}
.rfd-store-hold__eyebrow,.rfx-hero__eyebrow,.rfx-facet__label,.rfx-chip b,.rfx-bar__count,.rfx-act,.rfx-card__kicker,.rfx-more__btn,.rfd-hubread__eyebrow,.rfd-hubread__more a,.rfx-close__eyebrow,.rfx-btn,.rfx-shelves__label,.rfx-shelves__row a b,.rfd-toc__meta,.rfd-toc__num,.rfd-toc-mobile__count,.rfd-spine__link span,.rfd-interior .rfd-archive-card__cat,.rfd-interior .rfd-archive-more__links a span,.rfd-record-note__mark,.rfd-record-note__link,.rfta-card__number,.rfta-card__tool,.rfta__flow li::before,.rfd-artifact__eyebrow,.rfd-artifact__button,.rfd-route-form label,.rfd-route-form button,.wgw-toolbox label,.wgw-item__keep,footer.rfd-footer--slim .rfd-footer__row a,footer.rfd-footer--slim .rfd-footer__legal,body.rfd-site:not(.home) .rfd-prose > h2::before{font-size:12px}
body.rfd-site:not(.home) .rfd-card-label, body.rfd-site:not(.home) .rfd-prose .rfd-card-label{font-size:12px!important}
body.rfd-site:not(.home) .rfd-insight-block::before, body.rfd-site:not(.home) .rfd-prose .rfd-verdict::before{font-size:12px}
body.rfd-site:not(.home) .rfd-tactics li strong{font-size:max(12px, 0.95em)}
body.rfd-site:not(.home) .rfd-field-table caption,body.rfd-site:not(.home) .rfd-field-table th,body.rfd-site:not(.home) .rfd-metric__label,body.rfd-site:not(.home) .rfd-meta-strip{font-size:12px}
body.rfd-site:not(.home) .rfd-sources h2, body.rfd-site:not(.home) .rfd-sources .rfd-card-label,body.rfd-site:not(.home) .rfd-page-rail .eyebrow, body.rfd-site:not(.home) .rfd-rail-continue{font-size:12px!important}
body.rfd-site:not(.home) .rfd-page-content .rfd-card-label{font-size:12px}
body.rfd-site:not(.home) .rfd-chapter__kicker{font-size:12px!important}
@media (max-width: 768px){body.rfd-site:not(.home) .rfd-field-table td::before{font-size:12px}}
body.rfd-site:not(.home) .rfd-signal-grid::before{font-size:12px}
@media (max-width: 768px){body.rfd-site:not(.home) .eyebrow{font-size:12px}}
@media (max-width: 768px){body.rfd-site:not(.home) .rfd-rail-links a{font-size:12px!important}}
@media (max-width: 480px){body.rfd-site:not(.home) .rfd-rail-links a{font-size:12px!important}}
.rfd-fieldplate p.rfd-fieldplate__eyebrow,.rfd-fieldplate__foot{font-size:12px!important}
@media (max-width: 640px){.rfd-fieldplate p.rfd-fieldplate__eyebrow,.rfd-fieldplate__foot{font-size:12px}}
.evs-body :where(p, li){font-size:max(12px, var(--type-body))}
.rfd-filed__label,.rfd-filed__row a b,.nlh-cvd__toggle-label,.nlh-cvd__title,.nlh-cvd__hint{font-size:12px}
@media (max-width: 782px){.nlh-cvd__hint{font-size:14px}}
@supports (font-size: 1cqw){.rfd-plate__eyebrow, .rfd-plate__by{font-size:max(12px, clamp(8px, 2.15cqw, 15px))}}
@supports (font-size: 1cqw){.rfd-plate__mark{font-size:max(12px, clamp(10px, 2.8cqw, 20px))}}
.rfd-statement__eyebrow,.rfd-readlist__num{font-size:12px}
@media (max-width: 782px){.rfd-readlist__gloss{font-size:14px}}
.rfd-seam__mark,.rfd-seam__dest,.rfd-system-kicker,.rfd-system-btn,.rfd-case-evidence__grid span{font-size:12px}
.mailpoet-manage-subscription .mailpoet-change-email-info{font-size:max(12px, 85%)}
@media (max-width: 782px){.nlh-band .nlh-band__lede,.nlh-band .nlh-band__line{font-size:14px}}
.rfd-fleet-strip__link,.rfd-first-guide__kicker,.rfd-first-guide__number,.rfd-co__kicker, .rfd-co__card > span, .rfd-co__receipt-kicker,.rfd-co__receipt dt{font-size:12px}
.is-small-text{font-size:max(12px, 0.875em)}
@media (max-width: 782px){.rfdl-marquee-track > span,.rfd-record-fields em,.nlh-band__inner > .nlh-band__lede,.nlh-band__item > .nlh-band__line,.nlh-band__foot > .nlh-band__doors,.rfd-breadcrumbs span{font-size:14px!important}}
/* Type floor, second pass (2026-09-21). These sources load after this stylesheet (the hybrid header, index.css, and inline blocks on the shop, fit and eleven-by-thirteen pages), so first-pass rules of equal specificity lost to them. html body outranks their position. Each original is a single rule under 12px with no larger variant at another width, so 12px only raises it; on phones, the sentences listed last read at 14px. */
@media (max-width: 560px){html body .rfd-hybrid-search button[type=submit] span{font-size:12px}}
html body .rfd-hybrid .rfd-breadcrumbs,html body .rfd-hubread__more a,html body .rfd-case-status,html body .rfd-shop .rs-grid a.rs-buy,html body main.rfd-xbyx .rfd-xbyx__dl dt,html body main.rfd-xbyx .rfd-xbyx__back a,html body .rfd-first-guide__number{font-size:12px}
@media (max-width: 782px){html body .wgw-item__reading li,html body .si-chip__text em,html body .si-fieldset__blurb{font-size:14px}}
/* Room Edits built with the older group markup put their paragraphs inside .wp-block-group__inner-container, where the 857px cap the rule above lifts still applied: 60% at 1440 on /room-edits/doorway-has-a-job/. Same lift, one level down. */
@media (min-width: 783px){html body .rfd-pp .pp-body.pp-body > .wp-block-group__inner-container > p{max-width:none !important}}
/* Category archives (not covered by the first crawl). The spine's small labels are brass #8B6A36 on the light spine links, 4.36:1, and the "Other subjects" eyebrow is brass-lit #E2C885 on paper, 1.43:1: both are brass meant for a dark ground. Ember is the palette's small-label colour on paper (as .rfd-first-guide__number uses it), 5.9:1. */
html body .rfd-spine .rfd-spine__link span,html body .rfd-interior .rfd-archive-more p.eyebrow.brass{color:var(--dr-drama-text) !important}

/* --- Site crawl remediation, 2026-09-23. Owner's layout contract: front page 100% bleed; interior pages and posts on the 90% bleed with an 80% reading column, never a narrow Gutenberg column. Before this block the article column ran the full 90% well (1296px of 1440), a 200-character line. The well, hero, Room Lab handoff and card rows keep the 90%; only the reading column and its header sit at 80vw, centred in the well so the two edges line up. Phones and small tablets keep the full 90% (the column is already the container there). --- */
@media (min-width: 1024px) {
	html body.rfd-site:not(.home) .evs-article > .evs-well > .evs-body,
	html body.rfd-site:not(.home) .evs-article > .evs-well.rfd-page-body__grid > .evs-body.rfd-article-col {
		width: 100% !important;
		max-width: 80vw !important;
		margin-inline: auto !important;
	}
	html body.rfd-site:not(.home) .evs-article > header.evs-header.evs-well {
		box-sizing: border-box !important;
		padding-inline: calc((min(100%, 90vw) - 80vw) / 2) !important;
	}
	html body .rfd-pp .pp-body.pp-body {
		max-width: 80vw !important;
		margin-inline: auto !important;
	}
}

/* Legibility. "Room notes" above the inline sign-up on every post was brass-lit #E2C885 on paper, 1.43:1 — effectively invisible. The eyebrow fix earlier in this sheet is outranked by .rfd-inline-signup .eyebrow.brass, so it is restated at that weight. #74613B is the on-light brass, 5.3:1. */
html body .rfd-inline-signup p.eyebrow.brass,
html body .rfd-inline-signup .eyebrow.brass,
html body .evs-well .eyebrow.brass { color: var(--dr-accent-text) !important; }

/* Author-coloured dark grounds. Several posts set full-bleed groups on oxblood, moss, charcoal or plum with a light paragraph colour, and the links and figure captions inside them kept the paper palette: teal #2F5A5A measured 1.1–2.4:1 there. Inside a group that sets its own background and text colour, links and captions now take that text colour and keep an underline so they still read as links. */
html body .evs-body .has-background.has-text-color :is(p, li, figcaption) a:not(.wp-block-button__link),
html body .evs-body .has-background.has-text-color p.has-text-color a:not(.wp-block-button__link),
html body .evs-body .has-background.has-text-color .rfd-figure__caption { color: inherit !important; text-decoration: underline !important; text-decoration-thickness: 1px; text-underline-offset: .18em; }

/* Hub heroes: the italic rust line (#A83D29) on ink measured 2.97:1 at display size on Room Record, Resources, Atmosphere and Reference Room. The lighter ember of the same hue, #D9714F, is 5.2:1. */
html body .rfd-hub-hero h1 em, html body .rfd-hub-hero__copy h1 em { color: var(--dr-drama-text) !important; }

/* Multi-Use hub: the rust eyebrow and link inside the plum boundary band measured 1.86:1. */
html body .rfd-di-boundary .rfd-hubread :is(.rfd-hubread__eyebrow, a:not([class*="btn"])) { color: var(--dr-on-stage) !important; }

/* Mega-menu column labels: teal on the near-black dropdown, 2.4:1. */
html body .rfd-dropdown .rfd-dropdown__label { color: var(--dr-cool-text) !important; }

/* Product pages: "How refunds work" in teal at 4.23:1 on paper. One step darker in the same hue. */
html body.single-product .rfd-pp a, html body.single-product .summary a:not(.button) { color: var(--dr-cool-text) !important; }

/* The colour-vision toggle idles at 34% opacity, which takes its label to 2.2:1 on every page. It still recedes at 72%, and reads at 7:1. */
html body .nlh-cvd { opacity: .72 !important; }
/* It also sat directly on top of the Buy Me a Coffee button and its "Thank you for visiting" note in the bottom-left corner, hiding both. It moves up one step, clear of them. */
html body .nlh-cvd { bottom: 96px !important; }
html body .nlh-cvd:hover, html body .nlh-cvd:focus-within { opacity: 1 !important; }

/* MailPoet's email field placeholder is #ABB8C3 on #EEEEEE, 1.9:1. */
html body .mailpoet_form input.mailpoet_text::placeholder { color: color-mix(in srgb, var(--dr-smoke-steel) 55%, var(--dr-blackbox-navy)) !important; opacity: 1 !important; }



/* --- Width contract, enforced where pages still broke it (2026-09-24). -----
   Interiors hold the 90% well and an 80% reading column (above). These pages
   carried older fixed caps that were fine at 1280 and letterboxed the page at
   1440+: the Toolkit and Layout & Flow wraps at 1180px (61% at 1920), the
   Method sections inset by (100vw - 90rem) / 2 a side (75% at 1920), and a
   row of intros and decks pinned into a 38–48rem strip in the middle. */
@media (min-width: 1024px) {
	body.rfd-site .rfta__wrap,
	body.rfd-site .rfd-route-check {
		width: min(92vw, 100%) !important;
		max-width: none !important;
	}
	body.rfd-site :is(.rfd-di-intro, .rfd-di-profile, .rfd-di-tool, .rfd-di-library, .rfd-di-boundary) {
		padding-inline: 5vw !important;
	}
	body.rfd-site :is(.rfd-page-hero__deck, .rfd-di-intro__copy, .rfd-hub-copy, .rfdl-rooms-intro, .rfdl-rooms-intro > p:last-child, .nlh-own, .rfta__hero p:not(.rfta__kicker)) {
		max-width: none !important;
	}
	/* Method: single text blocks held at 34–40ch inside full-width sections. */
	body.rfd-site .rfd-di :is(.rfd-di-hero__bottom > p, .rfd-di-intro__copy p, .rfd-di-library > header p, .rfd-di-boundary > div),
	body.rfd-site .rfd-record-band__copy p,
	body.rfd-site :is(.rfta__intro, .rfta__wrap > div, .rfta__close .rfta__wrap) > p {
		max-width: none !important;
	}
}
