/* Shared reading hierarchy. Text, semantics, imagery and page structure stay intact.
   Color expresses existing roles; it never creates a new editorial emphasis. */

/* Important text corrections outrank old page-level !important declarations.
   Keep this small and isolated rather than increasing selector specificity. */
@layer site-reading {
body[data-reading] {
  --rt-version:v5;
  --rt-body:#365661; --rt-heading:#193e48; --rt-accent:#176779;
  --rt-muted:#526b72; --rt-warning:#865018;
  --rt-size:1rem; --rt-small:.875rem;
  font-family:'Zen Kaku Gothic New','Yu Gothic',Meiryo,sans-serif;
}
body[data-reading="blue"] {--rt-accent:#165d91;--rt-body:#354f65;--rt-heading:#193e58;--rt-muted:#52667a}
body[data-reading="violet"] {--rt-accent:#71508c;--rt-body:#514b60;--rt-heading:#453551;--rt-muted:#686071}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) {font-size:var(--rt-size);line-height:1.85;color:var(--rt-body)}
/* A paragraph/list/table body is quieter than its title or its inline link. */
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(p,li,dd,dt,td,th,label,summary) {
  color:var(--rt-body)!important;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(p,li,dd,dt) {
  font-size:var(--rt-size)!important;line-height:1.85!important;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(h2,h3,h4,summary,dt,th) {color:var(--rt-heading)!important}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(h3,h4) {color:var(--rt-accent)!important}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(p,li,dd,td) :is(strong,b,em) {color:var(--rt-accent)!important}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(p,li,dd,td) a:not([class*="button"]):not([class*="btn"]) {
  color:var(--rt-accent)!important;text-decoration:underline;text-underline-offset:.22em;
  text-decoration-thickness:1px;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(small,figcaption,[class*="-note"],[class*="-caption"],[class*="-meta"]) {
  color:var(--rt-muted)!important;font-size:var(--rt-small)!important;line-height:1.75!important;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is([class*="-note"],[class*="-caption"],[class*="-meta"]) :is(p,li) {
  font-size:var(--rt-small)!important;line-height:1.75!important;color:var(--rt-muted)!important;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is([class*="-kicker"],[class*="-eyebrow"]) {
  font-size:.875rem!important;line-height:1.5!important;color:var(--rt-accent)!important;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is([class*="-breadcrumb"],[aria-label="パンくず"]) :is(a,span,li) {
  font-size:.875rem!important;line-height:1.65!important;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is([class*="-caution"],[class*="-warning"],.wpcf7-not-valid-tip) {
  --rt-body:var(--rt-warning);--rt-accent:var(--rt-warning);--rt-muted:var(--rt-warning);
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(th,td) {font-size:.9375rem!important;line-height:1.75!important}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(label,summary) {font-size:1rem!important;line-height:1.65!important}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  font-size:1rem!important;line-height:1.5!important;
  box-sizing:border-box;max-inline-size:100%;min-inline-size:0;
}
body[data-reading] .wpcf7-form-control-wrap:has(> :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select)) {display:block;max-inline-size:100%;min-inline-size:0}
/* Preserve light lettering on the existing solid controls and numbered ornaments. */
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(.tf-button,.fp-button,.fc-button,.fd-button,.sf02-button,.sc-btn,.btn-primary,.sf02-button-face,.lf-button-face,.fld-btn,.fld-submit,.fp-form-controls button) {
  --rt-body:#fff;--rt-heading:#fff;--rt-accent:#fff;--rt-muted:#e6f2f5;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(.tf-button--soft,.fc-button--sub,.sc-btn-secondary) {
  --rt-body:#176779;--rt-heading:#193e48;--rt-accent:#176779;
}
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(.tf-number,.fe-number,.fr-step-num,.tf-answer-letter,.fc-label-num b,.sf02-label-number b) {color:#fff!important}
body[data-reading]:not([data-middle-hub]) .fp-table-wrap thead th {color:#fff!important}
/* Legacy dark panels use explicit light text utilities. Keep their inverse palette. */
body[data-reading]:not([data-middle-hub]) :is(.text-white,.text-gray-100,.text-slate-100,.text-slate-50,.text-blue-50,.text-blue-100,.text-blue-200) {
  --rt-body:#edf5f7;--rt-heading:#fff;--rt-accent:#b9e7f0;--rt-muted:#d1e3e8;
}
body[data-reading]:not([data-middle-hub]) :is(.bg-white,.bg-gray-50,.bg-blue-50,.bg-slate-50) {
  --rt-body:#365661;--rt-heading:#193e48;--rt-accent:#176779;--rt-muted:#526b72;
}
/* Price emphasis and hero copy remain distinct, but not oversized on a phone. */
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is([class*="-lead"],[class*="-intro"]) {color:var(--rt-body)!important}
@media (max-width:767px) {
  body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) h1:not(.mh-heading h1) {font-size:clamp(1.75rem,1.35rem + 1.6vw,2.125rem)!important;line-height:1.45!important}
  body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) h2 {font-size:clamp(1.375rem,1.2rem + .8vw,1.625rem)!important;line-height:1.55!important;letter-spacing:.025em!important}
  body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) h3 {font-size:1.125rem!important;line-height:1.6!important;letter-spacing:.02em!important}
  body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) h4 {font-size:1rem!important;line-height:1.65!important}
  body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(.mh-details>p,[data-hp-details]>p) {font-size:1rem!important;line-height:1.85!important}
  body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) :is(.tf-button,.fp-button,.fc-button,.fd-button,.sc-btn,.btn-primary) {font-size:1rem!important;line-height:1.5!important}
  body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) .sf02-phone :is(a,small) {font-size:.875rem!important;line-height:1.75!important}
}
/* Keep form error and required/optional labels recognizable by text as well as color. */
body[data-reading] :is(main,.wp-site-blocks>section,.wp-site-blocks>article) .wpcf7-not-valid-tip {color:#9a352c!important;font-size:.875rem!important}
body[data-reading] footer :is(p,address) {font-size:.9375rem;line-height:1.8}
body[data-reading] footer :is(.sf-area-head,.sf-area-layout,.sf-city-grid,.sf-top-grid) {min-inline-size:0;max-inline-size:100%}
body[data-reading] footer .sf-area-head p {flex-wrap:wrap;overflow-wrap:anywhere}
@media(max-width:767px){body[data-reading] footer :is(.sf-area-layout,.sf-top-grid,.sf-inner--area,.sf-area-head){grid-template-columns:minmax(0,1fr)!important}}

@media(max-width:767px){body[data-reading] main :is(.tf-card,.tf-choice) p{font-size:.96875rem!important}body[data-reading] main :is(.tf-card,.tf-choice) .tf-button{font-size:.9375rem!important;padding-inline:12px!important;gap:8px!important}}

@media(max-width:380px){body[data-reading] main :is(.tf-card,.tf-choice) .tf-button .tf-arrow{display:none}}

/* Inverse panels in the retained legacy templates (including translucent text). */
body[data-reading]:not([data-middle-hub]) :is(.bg-slate-900,.bg-gray-900,.bg-brand-blue,[class*="text-white/"],.ac-nav-list,.ac-person-icon figcaption) {
  --rt-body:#edf5f7;--rt-heading:#fff;--rt-accent:#b9e7f0;--rt-muted:#d1e3e8;
}
body[data-reading] :is(main,.wp-site-blocks>section) :is(.text-gray-400,.text-gray-500,.equip-hub-badge--more,time) {
  color:var(--rt-muted)!important;
}
body[data-reading] :is(main,.wp-site-blocks>section) :is(.text-xs,.text-\[10px\],.text-\[11px\],time) {
  font-size:.875rem!important;line-height:1.65!important;
}
body[data-reading] :is(main,.wp-site-blocks>section) .text-orange-600 {color:#984217!important}
body[data-reading] :is(main,.wp-site-blocks>section) .text-teal-600 {color:#126b61!important}
body[data-reading] :is(main,.wp-site-blocks>section) .text-cyan-600 {color:#0e667d!important}
body[data-reading] :is(main,.wp-site-blocks>section) .text-yellow-600 {color:#785309!important}
body[data-reading] :is(main,.wp-site-blocks>section) .text-accent-sky {color:#136b96!important}
body[data-reading] :is(main,.wp-site-blocks>section) :is(.btn-orange,.btn-cta,.hlp-tel) {color:#402b1d!important}
body[data-reading] :is(main,.wp-site-blocks>section) :is(.btn-orange,.btn-cta,.hlp-tel) span {color:inherit!important}
body[data-reading] :is(main,.wp-site-blocks>section) .home-line-official__new,
body[data-reading] :is(main,.wp-site-blocks>section) .home-find__consult-icon {color:#123d2b!important}
body[data-reading] main .home-area__city-green {color:#086b4b!important}
body[data-reading] main :is(.swh-gform-button--line,.swh-urgent-case-no,.hgf-progress-no) {color:#176779!important}
body[data-reading] main .swh-gform .is-optional {color:#142e38!important}
body[data-reading] main :is(.hlp-callout,.home-find__consult,.swh-guide-link,.swh-contact-card) strong {color:#176779!important}
body[data-reading] main .area-hero a[href^="tel:"] {color:#123d2b!important}
body[data-reading] main :is(.bg-laundry-accent,.bg-cyan-600) {color:#143d48!important;--rt-body:#143d48;--rt-accent:#143d48}
body[data-reading] main .btn-primary.bg-white {color:#176779!important;--rt-accent:#176779;--rt-body:#176779}
body[data-reading] main :is(.fp-button,.tf-button) span:not([class*="arrow"]) {color:inherit!important}
body[data-reading] main .fp-button:not(.fp-button--soft) {color:white!important}
body[data-reading]:not([data-middle-hub]) .fp-button--soft {--rt-body:#176779;--rt-accent:#176779;color:#176779!important}
body[data-reading][data-middle-hub] .fp-button--soft {color:white!important}
body[data-reading] .section-shell-dark {--rt-body:#edf5f7;--rt-heading:#fff;--rt-accent:#b9e7f0;--rt-muted:#d1e3e8}
body[data-reading] :is(main,.wp-site-blocks>section) .text-green-600 {color:#146b39!important}
body[data-reading] .area-main a[href^="tel:"][style*="#059669"] {color:#041f13!important}
body[data-reading] :is(main,.wp-site-blocks>section) :is(.bg-amber-500,.bg-yellow-500) {color:#402b1d!important;--rt-body:#402b1d;--rt-accent:#402b1d}
body[data-reading] :is(main,.wp-site-blocks>section) .bg-red-500 {color:#301616!important;--rt-body:#301616;--rt-accent:#301616}
body[data-reading] :is(main,.wp-site-blocks>section) .text-amber-600 {color:#855009!important}
body[data-reading] :is(main,.wp-site-blocks>section) :is(.required,.optional) {font-size:.875rem!important;line-height:1.6!important;color:#526b72!important}
body[data-reading] :is(main,.wp-site-blocks>section) .required {color:#9a352c!important}
body[data-reading] main .hlp-hub-ribbon {--rt-body:#fff}
body[data-reading] main .hlp-index-cat {color:color-mix(in srgb,var(--cat,#176779) 65%,#173b46)!important}
body[data-reading] main :is(.kwlf-option-name,.hlp-box strong) {color:#176779!important}
body[data-reading] main .hlp-tel-s {font-size:.875rem!important}
body[data-reading]:not([data-middle-hub]) :is(main,.wp-site-blocks>section) .text-white:not(.bg-laundry-accent):not(.bg-cyan-600):not(.bg-amber-500):not(.bg-yellow-500):not(.bg-red-500) {--rt-body:#fff}
body[data-reading] main :is(.bg-laundry-accent,.bg-bath-accent,.bg-outdoor-accent,.bg-wash-accent) {color:#143d48!important;--rt-body:#143d48!important;--rt-accent:#143d48!important}
body[data-reading] main .bg-cyan-600 {color:#031c23!important}
body[data-reading] main div.bg-accent-sky {color:#163640!important}
body[data-reading] main .sf02-warranty-category {--rt-body:#fff;font-size:.9375rem!important}
body[data-reading] main :is(.home-reservation__photo strong,.hlp-section-point strong) {color:#176779!important}
body[data-reading] main .bad-badge {color:#932c26!important;font-size:.875rem!important}
body[data-reading] main .good-badge {color:#146b39!important;font-size:.875rem!important}
/* Retained WP archive items must reflow with enlarged text and intrinsic photos. */
body[data-reading] main .wp-block-post-template {max-inline-size:100%;padding-inline:0}
body[data-reading] main .wp-block-post-template :is(.wp-block-post,.wp-block-group,.wp-block-post-title,.wp-block-post-excerpt) {min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}
body[data-reading] main .wp-block-post-featured-image {margin-inline:0;max-inline-size:100%}
body[data-reading] main .wp-block-post-featured-image img {max-inline-size:100%;block-size:auto}
body[data-reading] .wp-site-blocks>section .price-table th {color:#fff!important}
body[data-reading] main .mh-details .btn-primary.bg-white {color:#fff!important}
body[data-reading] main .hgf-progress .is-active .hgf-progress-no {color:#fff!important}
body[data-reading] main .swh-concierge-button--line strong {color:#146b39!important}
body[data-reading] main .swh-gform .is-optional {color:#08242c!important;font-size:.875rem!important}
body[data-reading] main .wlhc-web {color:#165d91!important;font-size:.875rem!important}
body[data-reading] main .swh-gform-choice-body strong {color:#176779!important}
body[data-reading] main .ac-hero-location strong {color:#193e48!important}
body[data-reading] h1 .sui-pw {display:inline-block!important;white-space:normal!important;max-inline-size:100%;overflow-wrap:anywhere}
/* Some legacy pages nest their footer in main. Keep the dark footer inverse. */
body[data-reading] .site-footer-v2 {--rt-body:#edf5f7;--rt-heading:#fff;--rt-accent:#b9e7f0;--rt-muted:#d1e3e8}
body[data-reading] .site-footer-v2 :is(p,a,span) {font-size:.875rem!important;line-height:1.65!important}
body[data-reading] .sf-bottom-bar {flex-wrap:wrap!important}
body[data-reading] .sf-bottom-bar p {max-inline-size:100%;white-space:normal!important;overflow-wrap:anywhere}
body[data-reading] .sf-ruler {min-inline-size:0;max-inline-size:100%;flex-wrap:wrap!important}
body[data-reading] .sf-ruler span {min-inline-size:0;max-inline-size:100%;white-space:normal!important;overflow-wrap:anywhere}
/* The desktop hero's approved display copy is not ordinary body copy. */
@media(min-width:768px) {
  body[data-reading] main [data-hp-details]>p {font-size:1.125rem!important;line-height:1.85!important}
  body[data-reading] main.mh-page .mh-details>p {font-size:clamp(1.0625rem,1.45cqw,1.5rem)!important;line-height:1.8!important}
  body[data-reading][data-middle-hub="equip-faucet"] main.mh-page .mh-details>p {font-size:clamp(1.0625rem,1.95cqw,2.375rem)!important;line-height:1.55!important}
  body[data-reading] main.mh-page .mh-details>div:is(.hf-answer,.wb-answer,.kr-answer,.ba-answer,.rw-answer,.ro-answer)>p {font-size:clamp(1.0625rem,1.35vw,1.25rem)!important;line-height:1.95!important}
}
}
