/* Body-only review: one reading column for prose, one alignment system per component. */
html body.wn-store.wn-layout-review-guide_market .page__text,
html body.wn-store.wn-layout-review-webnala .page__text {
 max-width: 840px; margin-inline: auto; padding-block: 16px 48px;
}
html body.wn-store.wn-layout-review-guide_market .page__text > :is(h2,p),
html body.wn-store.wn-layout-review-webnala .page__text > :is(h2,h3,p,ul) {
 max-width: none; text-align: left; margin-inline: 0;
}
html body.wn-store.wn-layout-review-guide_market .wn-store-flow-steps {
 max-width: none; margin: 28px 0;
}
html body.wn-store.wn-layout-review-guide_market .wn-store-flow-steps > li > :is(h3,p) {
 max-width: none; text-align: left;
}
html body.wn-store.wn-layout-review-webnala .page__text > h2 { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--c-border,#d8deea); }
html body.wn-store.wn-layout-review-webnala .page__text > h3 { margin-block: 28px 12px; }
/* Comparison has a shared left edge; its explanatory copy is not a separate centered island. */
html body.wn-store.wn-layout-review-listings .wn-store-listings-c__head { text-align: left; margin-bottom: 32px; }
html body.wn-store.wn-layout-review-listings .wn-store-listings-c__lead { max-width: 50em!important; margin: 16px 0 0; text-align: left; }
html body.wn-store.wn-layout-review-listings .wn-service-gallery { width: 100%; margin-inline: 0; padding-inline: 0; }
html body.wn-store.wn-layout-review-listings .wn-editorial__section { padding: 24px; }
html body.wn-store.wn-layout-review-listings .wn-editorial__section :is(p,ul,li) { max-width: none!important; }
/* Related choices and help are usable action groups, with space around each decision. */
html body[class] main .wn-paths { padding: clamp(24px,3vw,36px); border-radius: 12px; }
html body[class] main .wn-paths > h2 { margin: 0 0 24px; }
html body[class] main .wn-paths-grid { gap: 28px; }
html body[class] main .wn-paths-grid > div { padding: 0 0 20px; border-bottom: 1px solid currentColor; }
html body[class] main .wn-paths-grid h3 { margin: 0 0 10px; }
html body[class] main .wn-paths-grid p { margin: 0 0 18px; max-width: none; }
html body[class] main .wn-paths-grid a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
html body[class] main .wn-paths > p { margin: 24px 0 0; max-width: none; }
html body.wn-store .wn-help-contact { padding: 28px; gap: 28px; }
html body.wn-store .wn-help-contact > a { padding: 12px 20px; border: 1px solid currentColor; border-radius: 8px; text-decoration: none; }
/* Long directory pages use a centered reading frame, with headings and prose aligned. */
html body.wn-layout-review-troubleshooting-guide .page-default { max-width: 1040px; margin-inline: auto; }
html body.wn-layout-review-troubleshooting-guide .wn-pillar-section > p,
html body.wn-layout-review-troubleshooting-guide .wn-pillar-section > ul,
html body.wn-layout-review-troubleshooting-guide .prose > p { max-width: none; }
/* Author page: single-column sections share a readable, centered measure. */
html body.wn-layout-review-profile .wn-author-editor-hero .wn-hero-inner { max-width: 900px; margin-inline: auto; }
html body.wn-layout-review-profile .wn-author-editor-hero .wn-hero-body { max-width: none; }
html body.wn-layout-review-profile .wn-section .wn-wrap-narrow { max-width: 900px; margin-inline: auto; }
html body.wn-layout-review-profile .wn-section .wn-wrap-narrow > p { max-width: none; }
/* Portfolio: pair the question with its answer, rather than leaving a half-empty card. */
html body[class] .build-page .build-faq__item { padding: 22px 24px; }
html body[class] .build-page .build-faq__a { max-width: none; margin: 0; }
html body[class] .build-page .build-cost-basis { max-width: 900px; margin-inline: auto; padding: 28px; }
html body[class] .build-page .build-cost-basis :is(p,ul,li) { max-width: none; }
html body[class] .build-page .build-section__head { max-width: 900px; }
html body[class] .build-page .build-section__head p { max-width: none; }
html body[class] .build-page .build-cta__inner { padding: clamp(24px,4vw,44px); }
html body[class] .build-page .build-cta__inner h2 { max-width: 24em; font-size: clamp(26px,3vw,36px); line-height: 1.5; }
html body[class] .build-page .build-cta__inner p { max-width: 48em; margin-block: 16px 24px; }
/* Light actions have a visible boundary on the existing navy CTA background. */
html body[class] main .cta .btn--primary,
html body[class] .build-page .build-cta .btn--primary,
html body[class] .build-page .build-cta .wn-btn-primary {
 background: #fff!important; color: #1b2547!important; border: 1px solid #fff; box-shadow: none;
}
html body[class] main .cta .btn--primary:hover,
html body[class] .build-page .build-cta .btn--primary:hover,
html body[class] .build-page .build-cta .wn-btn-primary:hover { background: #eef2f8!important; color: #1b2547!important; }
/* Home mastheads: keep the host near the message instead of at the distant edge. */
@media(min-width:761px) {
 html body.wn-layout-review-home .wn-r26 .r26-arrival { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 24px 40px; }
 html body.wn-layout-review-home .wn-r26 .r26-host .r26-character { width: 180px; }
 html body.wn-layout-review-home .wn-r26 .r26-library-heading { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 40px; }
 html body.wn-layout-review-home .wn-r26 .r26-library-heading .r26-character { width: 180px; justify-self: center; }
 html body.wn-layout-review-home .wn-r26 .r26-shop-heading { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 40px; }
 html body.wn-layout-review-home .wn-r26 .r26-shop-heading aside { width: 100%; max-width: 360px; justify-self: center; padding: 20px; background: var(--r-panel); border-radius: 12px; grid-template-columns: 104px minmax(0,1fr); }
 html body.wn-layout-review-home .wn-r26 .r26-shop-heading aside .r26-character { width: 104px; }
 html body.wn-layout-review-home .wn-r26 .r26-shop-heading aside a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
 html body[class] .build-page .build-faq__item { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); gap: 28px; align-items: start; }
 html body[class] .build-page .build-faq__q { margin: 0; }
}
@media(max-width:760px) {
 html body.wn-store.wn-layout-review-guide_market .page__text,
 html body.wn-store.wn-layout-review-webnala .page__text { padding-block: 0 32px; }
 html body[class] main .wn-paths { margin-inline: 0; padding: 22px; }
 html body[class] main .wn-paths-grid { grid-template-columns: 1fr; gap: 24px; }
 html body[class] .build-page .build-faq__item { padding: 20px; }
 html body[class] .build-page .build-faq__q { margin-bottom: 10px; }
 html body.wn-store .wn-help-contact { padding: 22px; }
}

html body.wn-layout-review-dev-cases #site-main .wn-hero-title { font-size: clamp(30px,3.2vw,42px)!important; line-height: 1.5!important; max-width: 20em; }
html body.wn-layout-review-listings .wn-store-listings-c__note { max-width: none!important; margin: 24px 0 0; padding: 20px 24px; text-align: left; }
html body.wn-layout-review-wp-emergency main section[aria-label="復旧後の再発防止について"] .wn-wrap-narrow > p:last-child { max-width: 48em; text-align: left!important; margin: 24px auto 0; }
/* The theme's multiple :not() selectors otherwise outrank component measures. */
html body.wn-layout-review-troubleshooting-guide .wn-pillar-section > p,
html body.wn-layout-review-troubleshooting-guide .wn-pillar-section > ul,
html body.wn-layout-review-troubleshooting-guide .prose > p,
html body.wn-layout-review-troubleshooting-guide .wn-tldr li,
html body.wn-layout-review-profile .wn-author-editor-hero .wn-hero-body,
html body.wn-layout-review-profile .wn-section .wn-wrap-narrow > p,
html body[class] .build-page .build-faq__a,
html body[class] .build-page .build-cost-basis :is(p,ul,li),
html body[class] .build-page .build-section__head p { max-width: none!important; }
html body[class] .build-page .build-section > p:has(a[href="/dev-cases/"]) { max-width: none; margin: 24px 0 0!important; padding: 0; text-align: left!important; }
html body[class] .build-page .build-section > p > a[href="/dev-cases/"] { padding: 12px 20px; border: 1px solid var(--c-border,#d8deea); min-height: 44px; border-radius: 8px; }
html body.wn-layout-review-wp-emergency main section[aria-label="復旧後の再発防止について"] .wn-wrap-narrow > p:last-child br { display: none; }
html body.wn-layout-review-home .wn-r26 .r26-section:has(> .r26-character) { padding-bottom: 32px; }
@media(min-width:761px) and (max-width:1024px) {
 html body.wn-layout-review-home .wn-r26 .r26-shop-heading { grid-template-columns: 1fr; gap: 20px; }
 html body.wn-layout-review-home .wn-r26 .r26-shop-heading aside { max-width: 440px; justify-self: start; }
}

/* Dark backgrounds must not retain the legacy inline light-mode text colors. */
html[data-theme="dark"] body.wn-layout-review-dev-cases main p[style*="color:#334155"] { color: var(--c-ink-mute)!important; }
html[data-theme="dark"] body.wn-layout-review-dev-cases main div[style*="color:#4f46e5"] { color: var(--c-ink)!important; }
html[data-theme="dark"] body.wn-layout-review-troubleshooting-guide .wp-block-table tbody tr:nth-child(even) > td { background: var(--c-bg,#0f1626); }

/* Mastheads share type rhythm; article indexes are not prose measures. */
@media(min-width:761px) {
 html body.wn-layout-review-home .wn-r26 :is(.r26-arrival,.r26-library-heading,.r26-shop-heading) h1 { font-size: clamp(32px,3.75vw,48px)!important; line-height: 1.45!important; }
 html body.wn-layout-review-home .wn-r26 .r26-host { width: 100%; max-width: 280px; justify-self: center; }
}
html body.wn-layout-review-home .wn-r26 .r26-notes { width: 100%; max-width: none!important; }
html body.wn-layout-review-home .wn-r26 .r26-notes li { max-width: none!important; }

/* Primary actions center their label; comparison links expose their full hit area. */
html body.wn-layout-review-home .wn-r26 a.r26-button { justify-content: center; text-align: center; }
html body.wn-layout-review-home .wn-r26 :is(.r26-proof,.r26-utility) a.r26-link {
 display: flex; justify-content: space-between; gap: 20px; padding: 16px 20px;
 border: 1px solid var(--r-line); border-radius: 8px; background: var(--r-panel); min-height: 56px;
}
html body.wn-layout-review-home .wn-r26 :is(.r26-proof,.r26-utility) a.r26-link::after {
 content: ''; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor;
 transform: rotate(45deg); flex-shrink: 0; margin-right: 3px;
}
html body.wn-layout-review-home .wn-r26 :is(.r26-proof,.r26-utility) a.r26-link:hover { border-color: var(--r-accent); }
html body.wn-layout-review-home .wn-r26 .r26-proof { align-items: center; }
html body.wn-layout-review-home .wn-r26 .r26-proof > div:first-child { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 20px; align-items: center; }
html body.wn-layout-review-home .wn-r26 .r26-proof .r26-character { margin: 0; }
html body.wn-layout-review-home .wn-r26 .r26-proof > div:last-child { display: grid; gap: 12px; }
