/* Keep the full page width; contact methods open from a compact floating button. */
@media screen and (min-width:1181px) {
 html body #cta-rail:has(.wn-contact-panel){display:flex!important;right:12px!important}
 html body.home .wn-home-hero__layout{grid-template-columns:minmax(0,1fr) 320px!important;gap:16px 28px}
}
@media screen and (max-width:1180px) {
 html body #cta-rail:has(.wn-contact-panel){display:none!important}
}
html body h1 .wn-heading-phrase{display:inline-block!important;white-space:nowrap;max-width:100%;vertical-align:baseline}
html body h1:has(.wn-heading-phrase){text-wrap:balance;word-break:normal!important;line-break:strict!important}
/* Keep the header geometry unchanged; scroll only changes its surface. */
html body .site-header[data-elevated="true"]{box-shadow:0 10px 28px -12px rgba(15,30,90,.24)}
/* Compact the breadcrumb band and remove stacked page-introduction spacing. */
html body.navigator:not(.home) .breadcrumb-wrap{padding-block:12px!important;margin-block:0!important;min-height:0!important}
html body.navigator:not(.home) .breadcrumb-wrap>.container{padding-block:0!important;margin-block:0!important}
html body.navigator:not(.home) .breadcrumbs{padding-block:0!important;margin-block:0!important}
html body.navigator:not(.home) .site-main>.container.layout{margin-block:24px!important;padding-block:0!important}
html body.navigator:not(.home) .page-default{padding:28px!important}
@media(max-width:879px){
 html body.navigator:not(.home) .site-main>.container.layout{margin-block:16px!important}
 html body.navigator:not(.home) .page-default{padding:18px!important}
 html body.home .wn-home-hero__layout>.wn-hero-tag,html body.home .wn-home-hero__layout>.wn-store-hero__eyebrow{order:-3!important;min-height:0!important}
 html body.home .wn-home-hero__layout>h1{order:-2!important;margin-block:0!important;font-size:clamp(23px,6vw,30px)!important}
 html body.home .wn-home-hero__layout>.wn-polish-avatar{order:-1!important;width:180px;height:180px}
 html body h1:has(.wn-heading-phrase){font-size:clamp(23px,5.8vw,30px)!important;line-height:1.5!important}
}
/* A tablet has room for the details OR the purchase card, not two cramped columns. */
@media(max-width:1024px){
 html body .hp-listing--view-page>.hp-page__content,html body .hp-listing--view-page>.hp-page__sidebar{flex:0 0 100%!important;max-width:100%!important;width:100%!important}
 html body .hp-listing--view-page>.hp-page__sidebar{position:static!important;margin-top:24px}
 html body .hp-listing--view-page>.hp-page__sidebar>*{position:static!important}
}

@media(min-width:880px){
 html body.home .wn-home-hero__layout>h1{grid-column:1!important;max-width:100%!important;width:100%!important;min-width:0}
 html body.home .wn-home-hero__layout>.wn-polish-avatar{grid-column:2!important;grid-row:1/4!important;width:320px;height:320px}
}

/* Keep store containers responsive. */
html body.wn-store .site-container{width:100%;min-width:0}
html body.wn-store .site-content>.container{width:100%!important;max-width:1200px!important;box-sizing:border-box}
@media(min-width:768px) and (max-width:1024px){
 html body.single-hp_listing .wn-lcv-sticky--mobile{display:block;margin:16px 0;padding:20px}
 html body.single-hp_listing .hp-page__sidebar .wn-lcv-sticky:not(.wn-lcv-sticky--mobile){display:none}
 html body.single-hp_listing .wn-lcv-sticky--mobile .wn-lcv-sticky__cta{min-height:48px}
}

@media screen and (min-width:1181px){
 html body #cta-rail.is-loaded:has(.wn-contact-toggle){top:auto!important;bottom:24px!important;right:16px!important;transform:none!important;animation:none!important;gap:8px}
}
html body .wn-contact-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border:1px solid #d8e0ef;border-radius:28px;background:#1b2547;color:#fff;font:inherit;font-size:15px;font-weight:700;box-shadow:0 4px 16px rgba(27,37,71,.18);cursor:pointer}
html body .wn-contact-toggle:focus-visible{outline:3px solid #b57925;outline-offset:3px}
html body #wn-contact-options:not(:popover-open){display:none}
html body #wn-contact-options:popover-open{display:block;position:fixed;inset:auto 16px 148px auto;margin:0;width:240px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 180px);overflow:auto;padding:16px;transform:none}
html body #wn-contact-options .wn-contact-panel__link{min-height:48px;font-size:15px}
@media(max-width:1180px){html body .wn-contact-toggle{display:none}}

html body .wn-contact-toggle>.wn-contact-toggle__icon{display:block;width:22px;height:22px;flex:0 0 22px;color:inherit}

/* Audit corrections: readable actions and compact, stable navigation. */
html body .prose .wn-editorial a.wn-editorial__button,html body .wn-editorial a.wn-editorial__button{color:#fff!important;background:#1b2547!important;text-decoration:none!important}
html body .prose .wn-editorial a.wn-editorial__button:hover{background:#31416d!important;color:#fff!important}
html body .wn-editorial a.wn-editorial__button:focus-visible{outline:3px solid #aa6318;outline-offset:3px}
html[data-theme=dark] body .wn-editorial a.wn-editorial__button{background:#e8edf8!important;color:#1b2547!important}
html body .wn-lcv-sticky__hint,html body .wn-lcv-sticky__price-label,html body .wn-lcv-sticky__meta dt{font-size:14px!important;color:#505b6b!important;line-height:1.6}
html[data-theme=dark] body .wn-lcv-sticky__hint,html[data-theme=dark] body .wn-lcv-sticky__price-label,html[data-theme=dark] body .wn-lcv-sticky__meta dt{color:#c6cedc!important}
html body .wn-faq-pair{padding-block:16px;border-bottom:1px solid #d5deeb}
html body .wn-faq-pair h3{font-size:18px;line-height:1.6;margin:0 0 8px}
html body .wn-faq-pair p{margin:0;line-height:1.8}
html body.home .wn-home-copy{display:flex!important;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;grid-column:1!important;grid-row:1!important}
html body.home .wn-home-copy>*{margin:0!important;max-width:100%!important}
html body.home .wn-home-copy h1{width:100%;font-size:clamp(28px,2.7vw,38px)!important;line-height:1.4!important}
html body.home .wn-home-copy .wn-hero-actions,html body.home .wn-home-copy .wn-store-hero__actions{margin-top:4px!important;gap:10px!important}
html body.home .wn-home-copy .wn-primary-contact{background:#1b2547!important;color:#fff!important;border-radius:10px;font-weight:700;padding:12px 20px!important;text-decoration:none;min-height:48px}
html[data-theme=dark] body.home .wn-home-copy .wn-primary-contact{background:#e8edf8!important;color:#1b2547!important}
@media(min-width:880px){html body.home .wn-home-hero__layout{align-items:start!important;grid-template-rows:auto!important}html body.home .wn-home-hero__layout>.wn-polish-avatar{grid-row:1!important;align-self:center;width:320px;height:320px}}
@media(max-width:879px){
 html body.home .wn-home-hero__layout>.wn-home-copy{order:-3!important;width:100%;gap:12px}
 html body.home .wn-home-copy h1{font-size:clamp(23px,6vw,30px)!important}
 html body.home .wn-home-copy .wn-hero-facts,html body.home .wn-home-copy .wn-status-bar{font-size:13px!important}
 html body.home .wn-home-hero__layout>.wn-polish-avatar{order:-2!important;width:180px;height:180px}
}
html body .wn-more-reviews{margin:20px auto;max-width:1120px;width:100%}
html body .wn-more-reviews>summary{cursor:pointer;font-weight:700;padding:16px;border:1px solid #9baac0;border-radius:12px;min-height:48px}
html body .wn-decision-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;width:calc(100% - 36px);margin:20px auto;padding:20px;background:#f6f8fc;border:1px solid #d5deeb;border-radius:14px;color:#1b2547;box-sizing:border-box}
html body .wn-decision-summary strong{font-size:14px}html body .wn-decision-summary p{font-size:16px;line-height:1.7;margin:6px 0 0}
html[data-theme=dark] body .wn-decision-summary{background:#202a40;color:#eff4ff}
@media(max-width:700px){html body .wn-decision-summary{grid-template-columns:1fr;gap:12px}}
@media(min-width:1181px){
 html body #cta-rail{display:none!important}
 html body .site-header{position:sticky!important;top:8px!important;z-index:100}
 html body .site-header__inner--tier1{padding-block:8px!important;min-height:64px!important}
 html body .site-header__inner--tier2{padding-block:0!important;min-height:44px!important}
 html body .site-header .site-brand__logo{max-height:44px!important;width:auto!important}
 html body .site-header .site-brand__wordmark{max-height:36px!important;width:auto!important}
 html body .site-header .nav-primary__list a{min-height:44px;padding-block:8px!important}
 html body .wn-header-tier1__inner{padding-block:8px!important;min-height:64px!important}
 html body .wn-header-tier2__inner{padding-block:0!important;min-height:44px!important}
 html body .wn-header-tier2 a{padding-block:8px!important;min-height:44px}
 html body .wn-header__brand img{max-height:44px!important;width:auto!important}
 html body .wn-header__brand .wn-brand-sub,html body .site-brand__sub{margin-top:2px!important}
 html body .wn-topbar__inner{padding-block:4px!important;min-height:28px!important}
 html body .site-header .wn-contact-toggle{display:inline-flex!important;white-space:nowrap;box-shadow:none}
}

html body #wn-contact-options{background:#fff;color:#1b2547;border:1px solid #d8e0ef;border-radius:18px;box-shadow:0 8px 28px rgba(27,37,71,.14)}
html body #wn-contact-options .wn-contact-panel__title{font-size:17px;font-weight:700;text-align:center;margin:0}
html body #wn-contact-options .wn-contact-panel__hint{display:block;text-align:center;font-size:13px;color:#505b6b;margin:4px 0 10px}
html body #wn-contact-options .wn-contact-panel__link{display:flex;align-items:center;gap:10px;border:1px solid #d8e0ef;border-radius:10px;margin-top:6px;padding:8px 12px;background:#f6f8fc;color:#1b2547;text-decoration:none;font-weight:700}
html body #wn-contact-options .wn-contact-panel__icon{display:flex;flex-shrink:0}
html body #wn-contact-options .wn-contact-panel__link:hover{background:#fff0d6}
html body #wn-contact-options .wn-contact-panel__link:focus-visible{outline:3px solid #a25a15;outline-offset:2px}
html[data-theme=dark] body #wn-contact-options{background:#182337;color:#f3f6fc;border-color:#607086}
html[data-theme=dark] body #wn-contact-options .wn-contact-panel__hint{color:#c1cce0}
html[data-theme=dark] body #wn-contact-options .wn-contact-panel__link{background:#263650;color:#f3f6fc;border-color:#607086}

html body.home .wn-home-copy .wn-hero-actions a,html body.home .wn-home-copy .wn-store-hero__actions a{display:inline-flex!important;align-items:center;justify-content:center;text-align:center}
@media(max-width:879px){html body.home .wn-home-copy .wn-hero-actions,html body.home .wn-home-copy .wn-store-hero__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%!important}html body.home .wn-home-copy .wn-hero-actions a,html body.home .wn-home-copy .wn-store-hero__actions a{width:100%!important;box-sizing:border-box;padding:10px!important}}

/* Clip visual overflow without creating a scroll container that disables sticky. */
@media(min-width:1181px){html body.wn-store .site-container{overflow:clip!important}}

/* Focused refinements: action hierarchy, mobile character and comfortable targets. */
html body .site-header :is(.site-header__search-toggle,.theme-toggle,.wn-header__search-toggle,.nav-toggle,.wn-header__burger,.site-header__cta,.wn-header__cta){min-width:44px!important;min-height:44px!important;box-sizing:border-box}
html body .site-header :is(.nav-primary__list,.wn-header-tier2) a{min-width:44px;box-sizing:border-box;justify-content:center}
html body.home .wn-home-hero__layout>.wn-hero-facts,html body.home .wn-home-hero__layout>.wn-status-bar{grid-column:1/-1!important;width:100%;margin:0!important}
html body.home .wn-home-hero__layout>.wn-hero-facts{font-size:14px;line-height:1.65}
html body.home .wn-home-copy .wn-hero-tag{font-size:12px!important;letter-spacing:.04em!important;text-transform:none!important}
html body.home .wn-home-copy .wn-actions-blog .wn-primary-contact{background:transparent!important;color:#1b2547!important;border:1px solid #7b879d;box-shadow:none!important;order:2}
html body.home .wn-home-copy .wn-actions-blog .wn-btn-primary{order:1}
html body.home .wn-home-copy .wn-actions-blog .wn-action-tertiary{order:3;background:transparent!important;color:#344569!important;border:0!important;box-shadow:none!important;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:6px 0!important;grid-column:1/-1;justify-self:start;width:auto!important;font-size:14px}
html[data-theme=dark] body.home .wn-home-copy .wn-actions-blog :is(.wn-primary-contact,.wn-action-tertiary){color:#e8edf8!important;border-color:#9baac0}
html body .wn-page-map{flex-wrap:wrap}
html body .wn-page-map a{min-height:44px;display:inline-flex;align-items:center}
html body [id^="wn-reading-"]{scroll-margin-top:200px}
html body .wn-reading-detail{margin-block:16px}
html body .wn-reading-detail>summary{min-height:48px;padding:12px 16px;border:1px solid #9baac0;border-radius:12px;cursor:pointer;font-weight:700}
@media(max-width:879px){
 html body.home .wn-home-hero__layout>.wn-polish-avatar{order:-2!important;margin:0 auto!important;width:180px!important;height:180px!important}
 html body.home .wn-home-hero__layout>.wn-hero-facts,html body.home .wn-home-hero__layout>.wn-status-bar{order:-1!important;font-size:13px!important}
 html body.home .wn-home-copy .wn-actions-blog{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)!important;row-gap:0!important}
 html body.home .wn-home-copy .wn-actions-blog .wn-btn-primary{font-size:14px!important;padding:10px 8px!important}
 html body.home .wn-home-copy .wn-actions-blog .wn-action-tertiary{margin:0!important}
}

/* ─────────────────────────────────────────────
   日本語の折り返し規則（2026-09-26）
   これまで word-break: auto-phrase を指定していたが、keep-all は
   日本語の文字間で改行できなくする指定のため、行に収まらないと
   overflow-wrap: break-word が働いて「構／成」「検／討」のように
   熟語の途中で割れていた。
   日本語で正しいのは word-break:normal + line-break:strict。
   normal は文字間で改行でき、strict が禁則処理（行頭の、。ゃゅょ等の禁止）を行う。
   ───────────────────────────────────────────── */
html body :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,caption,figcaption,summary,
              blockquote,label,legend,button,a,span,strong,em,small,time,address,div):not(code):not(pre):not(kbd):not(samp) {
	word-break: normal !important;
	line-break: strict !important;
	overflow-wrap: break-word !important;
}
/* 文節単位で折り返せる環境ではそれを使う（日本語の可読性が最も高い） */
@supports (word-break: auto-phrase) {
	html body :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,caption,figcaption,summary,
	              blockquote,label,legend,button,a,span,strong,em,small,time,address,div):not(code):not(pre):not(kbd):not(samp) {
		word-break: auto-phrase !important;
	}
}
/* コード・URL など改行できない長い文字列だけは、はみ出すより割る */
html body :is(code,pre,kbd,samp,.wn-url,[class*="url"]) {
	overflow-wrap: break-word;
	word-break: break-word;
}
/* コードブロックは折り返さず横スクロール（途中で割れて読めなくなるのを防ぐ） */
html body :is(pre,pre.wp-block-preformatted,pre.wp-block-code) {
	white-space: pre;
	overflow-x: auto;
	word-break: normal;
	overflow-wrap: normal;
}

/* 狭い画面の表：列幅を等分に潰すと「¥3,300」のような値が途中で割れるため、
   内容に合わせた幅にして、収まらない分は横スクロールさせる。 */
@media (max-width: 782px) {
	html body :is(figure.wp-block-table, .wp-block-table) {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	html body :is(figure.wp-block-table, .wp-block-table) > table {
		table-layout: auto !important;
		width: auto !important;
		min-width: 100%;
	}
	html body :is(figure.wp-block-table, .wp-block-table) :is(td, th) {
		overflow-wrap: normal !important;
	}
}

/* ── 部品の中の見出しの書式を揃える（2026-10-01 監査）────────────
   同じ役割の見出しなのに、下の余白が 0 / 8 / 9 / 10 / 16 / 20px と割れ、
   文字サイズにも 17px・21px という端数が混ざっていた。
   役割ごとの大小（区画の見出しは大きく、カードの見出しは小さく）は残し、
   端数だけを 8px / 18px / 20px の刻みへ寄せる。
   ───────────────────────────────────────────────────────── */
html body[class] .wn-case-title,
html body[class] .wn-flow-step-title,
html body[class] .wn-svc-title,
html body[class] .wn-service-title,
html body[class] .wn-recovery-option__title{margin:0 0 8px}
html body[class] .wn-service-title{font-size:20px}

/* 出品詳細の見出し。14px/800 は本文より小さく、見出しとして弱かった。 */
html body[class] .wn-lcv-info__h3{font-size:18px;font-weight:700;margin:0 0 8px}
html body[class] .wn-lcv-info__h2{margin:0 0 16px}

/* 実構造に合わせた上書き（2026-10-01 監査 第2波）。 */
html body[class] .wn-paths .wn-paths-grid h3{font-size:18px;margin:0 0 8px}


/* ── 同じ役割の見出しを1つの書式にそろえる（2026-10-01 監査 第4波）────
   前回は「区画＝32px」と一律に決めて、かえって割れを増やした。
   今回は各ページの多数派に外れ値を寄せる。見た目の大枠は変えない。
   ───────────────────────────────────────────────────────── */
/* トップの区画の見出しが 32 / 40 / 31px に割れていた。 */
html body[class] .wn-store-cta-final > h2,
html body[class] .wn-local-seo__title{font-size:32px;font-weight:800;margin:0 0 12px}
/* 一覧ページも同じ段にそろえる。 */
html body[class] #wn-service-gallery-title{font-size:32px;font-weight:800;margin:0 0 12px}
html body[class] .wn-store-listings-c .wn-editorial__section > h2{font-size:32px;font-weight:800;margin:0 0 12px}
/* 相談の小見出しの太さが700と800に割れていた。 */
html body[class] .wn-companion__journey > article > h3{font-weight:700}
/* ヘルプの見出しが18pxと29pxに割れていた。 */
html body[class] .wn-store-faq-priority > h2,
html body[class] .page__text > section.wn-paths > h2{font-size:29px;font-weight:800;margin:0 0 16px}
/* 出品本文の見出し。先頭だけ上余白が0で、ほかは32pxだった。 */
html body[class] .hp-listing__description > section > h2,
html body[class] .wn-lcv-info__h2{margin-top:0}
html body[class] .hp-listing__description > section{padding-top:32px}

/* Typography audit 2026-10-03: change reading copy, not compact navigation. */
html body.home .wn-companion__intro > p,
html body.home .wn-companion__journey p {
    font-size: 1rem;
    line-height: 1.75;
}
html body.home .wn-home-choice .wn-home-choice__lead,
html body.home .wn-home-choice small,
html body .wn-consult__optional-title small,
html body .wn-track-record__source,
html body .wn-voices__meta {
    font-size: .875rem;
    line-height: 1.6;
}
/* These three copy sizes were already forced by home-layout.css. */
html body.home :is(.wn-svc-body, .wn-case-symptom),
html body.home .wn-case--with-thumb .wn-case-symptom,
html body.home #consult-branch .wn-svc-body {
    font-size: 1rem !important;
    line-height: 1.75 !important;
}

/* A legacy inline body rule supplied 14px, .04em and a text shadow. */
html body.wn-store {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: .01em;
    text-shadow: none;
}
html body.wn-store .wn-store-c-card__lead,
html body.wn-store .wn-store-listings-c__lead {
    /* Override existing !important copy declarations, including mobile. */
    font-size: 1rem !important;
    line-height: 1.75 !important;
}
html body.wn-store :is(.wn-store-c-card__listing-title, .wn-lcv-info__box p, .wn-lcv-info__box li,
    .wn-store-quick-form__lead, .wn-local-seo__text, .wn-store-cta-final > p) {
    font-size: 1rem;
    line-height: 1.75;
}
html body.wn-store :is(.wn-store-c-card__listing-note, .wn-store-c-card__listing-price,
    .wn-lcv-sticky__price-note, .wn-lcv-operator__cred, .wn-store-listings-c__note) {
    font-size: .875rem;
    line-height: 1.6;
}
/* Restore the section hierarchy flattened by the inline .single h2 rule. */
html body.single-hp_listing :is(.hp-listing__description > h2, .wn-lcv-info__h2, .wn-paths > h2) {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4;
    margin-block: 1.5em .75em;
}
/* Keep supporting sections subordinate to the 23–30px mobile H1. */
@media (max-width: 768px) {
    html body.wn-store .wn-store-listings-c .wn-editorial__section > h2,
    html body.wn-store :is(.wn-local-seo__title, .wn-store-cta-final > h2, .wn-service-gallery > h2) {
        font-size: 1.375rem;
        line-height: 1.4;
    }
}

/* Service scope must remain readable when the card copy grows to 16px. */
html body.wn-store .wn-store-c-card__lead {
    display: block;
    overflow: visible;
}
html body.wn-store .wn-store-c-card__listing-link {
    flex-direction: column;
    align-items: stretch;
}
html body.wn-store .wn-store-c-card__listing-price {
    align-self: flex-end;
}

/* Related-listing category links inherited translucent parent-theme text. */
html body.wn-store .hp-listing__categories a {
    color: var(--c-text-mute, #4a5570);
}

/* Inner-page guidance has an existing !important mobile size. */
html body .wn-page-companion .wn-page-companion__lead {
    font-size: 1rem !important;
    line-height: 1.75;
}
html body .wn-page-companion__title {
    /* The global auto-phrase rule stranded 「に。」 on a separate line. */
    word-break: normal !important;
    text-wrap: balance;
}

html body.wn-store .wn-service-gallery > h2 {
    text-wrap: balance;
}

/* Cross-site Japanese spacing audit 2026-10-03.
   Keep full-width punctuation; preserve font families, numeric styles and icons. */
html body[class],
html body[class] :is(.prose, .post-single__content, .wn-voices__body),
html body[class] :is(h1, h2, h3, h4, h5, h6) {
    font-feature-settings: "palt" 0;
}
html body[class] {
    letter-spacing: .01em;
}
html body[class] :is(.prose, .post-single__content) {
    letter-spacing: .015em;
}
/* Existing hero/heading rules use !important negative tracking and line heights. */
html body[class] main :is(h1, h2, h3, h4, h5, h6),
html body[class].home .wn-home-copy :is(.wn-hero-title, .wn-store-hero__title),
html body[class].home .wn-section-title,
html body[class]:not(.home) .wn-hero .wn-hero-title {
    letter-spacing: .01em !important;
    line-height: 1.4 !important;
}
html body[class] main :is(.wn-hero-body, .wn-store-hero__lede, .wn-editorial-lead,
    .wn-svc-body, .wn-case-symptom, .wn-store-c-card__lead, .wn-store-c-card__listing-title) {
    letter-spacing: .01em;
}
html body[class] :is(.wn-voices__body, .wn-name-note p, .wn-paths > p, .widget__body) {
    font-size: 1rem;
    line-height: 1.8;
}
/* Text input and multi-line guidance need a full 16px even before submission. */
html body[class] .wn-consult :is(textarea, input:not([type=checkbox]):not([type=radio])) {
    font-size: 1rem;
    line-height: 1.7;
}
html body[class] :is(button, input, textarea, select, label) {
    font-feature-settings: "palt" 0;
    letter-spacing: .01em;
}
html body[class] :is(.wn-consult__option, .wn-consult button, .wn-companion button) {
    font-size: .875rem;
    line-height: 1.5;
}
/* Supporting copy remains subordinate to 16–17px reading text. */
html body[class] :is(.wn-consult__intro, .wn-visual-note, .wn-source-note,
    .wn-price-multi-note, .wn-term-table__note, .wn-pf-note, .wn-cr-note) {
    font-size: .875rem;
    line-height: 1.75;
    letter-spacing: .01em;
}

/* Balance centered section copy within its existing readable measure. */
html body[class] :is(.wn-voices__eyebrow, .wn-voices__lede, .wn-voices__cta,
    .wn-track-record__source, .wn-v61-center-cta,
    .wn-front-services__eyebrow, .wn-front-services__sub),
html body[class] .wn-section-center > .wn-section-lede,
html body[class] .wn-wrap > p[style*="text-align:center"] {
    margin-inline: auto !important;
}

/* Re-audit: keep the checklist and embedded consultation below the portrait. */
html body[class] .wn-page-companion > .wn-consult {
    grid-column: 1 / -1;
    min-width: 0;
}
@media (max-width: 600px) {
    html body[class] .wn-page-companion .wn-page-companion__prep {
        grid-column: 1 / -1;
        min-width: 0;
    }
}
html body[class] .wn-page-companion .wn-page-companion__prep-title {
    line-height: 1.6 !important;
    word-break: normal;
}

/* Select2 keeps a white surface unless its dark surface and text are paired. */
html[data-theme="dark"] body.wn-store .select2-container--default :is(.select2-selection, .select2-dropdown, .select2-search__field) {
    color: #e8edf8;
    background-color: #151e30;
    border-color: #687b99;
}
html[data-theme="dark"] body.wn-store .select2-container--default :is(.select2-selection__rendered, .select2-results__option) {
    color: #e8edf8;
}
html[data-theme="dark"] body.wn-store .select2-container--default :is(.select2-selection__placeholder, .select2-results__option[aria-disabled="true"]) {
    color: #acbad0;
}
html[data-theme="dark"] body.wn-store .select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #29436b;
}
html[data-theme="dark"] body.wn-store .select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #fff;
    background-color: #294980;
}
html[data-theme="dark"] body.wn-store .select2-container--default .select2-selection__arrow b {
    border-top-color: #acbad0;
}
html[data-theme="dark"] body.wn-store .select2-container--default.select2-container--open .select2-selection__arrow b {
    border-top-color: transparent;
    border-bottom-color: #acbad0;
}
html[data-theme="dark"] body.wn-store .select2-container--default :is(.select2-selection:focus-visible, .select2-search__field:focus-visible) {
    outline: 2px solid #a8c7ff;
    outline-offset: 2px;
}
@media (max-width: 480px) {
    html body.single-hp_listing .hp-listing__description > table {
        width: 100%;
        table-layout: fixed;
    }
    html body.single-hp_listing .hp-listing__description > table :is(th, td) {
        padding: .5rem;
        word-break: normal;
        overflow-wrap: anywhere;
    }
}

/* Keep prose decorations out of shared list and consultation components. */
html body[class] :is(.wn-page-companion .wn-page-companion__prep, .wn-editorial[data-wn-editorial]) ul > li,
html body[class] .wn-consult .wn-consult__intro {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
    transition: none;
}
/* The companion already reserves 22px on its UL for an outside marker. */
html body[class] .wn-page-companion .wn-page-companion__prep > ul > li {
    display: list-item;
    list-style: disc outside;
    padding: 0 !important;
    color: inherit;
}
html body[class] .wn-page-companion .wn-page-companion__prep > ul > li::before,
html body[class] .wn-editorial.wn-editorial__links > ul > li::before,
html body[class] .wn-editorial[data-wn-editorial] > nav > ul > li::before {
    content: none;
    display: none;
}
html body[class] .wn-editorial.wn-editorial__links > ul > li,
html body[class] .wn-editorial[data-wn-editorial] > nav > ul > li {
    list-style: none;
    padding: 0;
    color: inherit;
}
/* Link groups use their own spacing; retain the visual-point/step markers. */
html body[class] :is(.wn-editorial__links, .wn-editorial > nav) > ul > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}
html body[class] .wn-page-companion .wn-page-companion__prep-title,
html body[class] .wn-consult .wn-consult__optional-title {
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}
html body[class] .wn-page-companion .wn-page-companion__prep-title::before,
html body[class] .wn-page-companion .wn-page-companion__prep-title::after,
html body[class] .wn-consult .wn-consult__optional-title::before,
html body[class] .wn-consult .wn-consult__optional-title::after {
    content: none;
}
html body[class] .wn-consult .wn-consult__intro {
    padding: 0;
    color: inherit;
}
/* Restore link-group layout where prose UL/heading spacing was inherited. */
html body[class] :is(.wn-editorial.wn-editorial__links, .wn-editorial[data-wn-editorial] > nav) > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin: 0;
    padding: 0;
}
html body[class] .wn-editorial[data-wn-editorial] > nav > h2 {
    margin: 0 0 12px;
}
@media (max-width: 700px) {
    html body[class] :is(.wn-editorial.wn-editorial__links, .wn-editorial[data-wn-editorial] > nav) > ul {
        display: grid;
        gap: 12px;
    }
}
