/* CTA v3: dedicated component, no page ID or theme palette dependency */
.swb-consult.swb-consult{box-sizing:border-box;display:block;padding:48px 0;margin:64px 0 0;background:#47372B;color:#FFFFFF;box-shadow:0 0 0 100vmax #47372B;clip-path:inset(0 -100vmax);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.85;text-align:center}
.swb-consult *{box-sizing:border-box}
.swb-consult .swb-consult__inner{max-width:800px;margin:0 auto;padding:0 24px}
.swb-consult :where(h2,h3){font-size:clamp(23px,2.2vw,29px);line-height:1.5;font-weight:700;letter-spacing:.015em;color:#FFFFFF;background:none;border:0;padding:0;margin:0 0 18px;text-align:center}
.swb-consult :where(h2,h3):before,.swb-consult :where(h2,h3):after{display:none}
.swb-consult .swb-consult__phrase{white-space:nowrap}
.swb-consult p{font-size:16px;color:#FFFFFF;text-align:center;word-break:auto-phrase;text-wrap:pretty}
.swb-consult.swb-consult :where(p){line-height:1.85}
.swb-consult .swb-consult__description{max-width:38em;margin:0 auto 26px}
.swb-consult .wp-block-buttons{justify-content:center;margin:0;gap:0}
.swb-consult .wp-block-button{max-width:100%;margin:0}
.swb-consult .swb-consult__primary .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;max-width:100%;padding:12px 32px;border:1px solid #FFFFFF;border-radius:3px;color:#FFFFFF;background:#A43704;font-size:16px;font-weight:700;line-height:1.6;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.swb-consult .swb-consult__primary .wp-block-button__link:hover{background:#873003;text-decoration:underline;text-underline-offset:4px}
.swb-consult .swb-consult__note{margin:10px auto 16px}
.swb-consult .swb-consult__material{margin:0 auto}
.swb-consult .swb-consult__material a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 4px;font-size:16px;line-height:1.75;color:#FFFFFF;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere}
.swb-consult .swb-consult__material a:hover{text-decoration-thickness:3px}
.swb-consult a:focus-visible{outline:3px solid #FFFFFF;outline-offset:5px}
@media(max-width:760px){.swb-consult.swb-consult{padding:36px 0;margin-top:40px}.swb-consult .swb-consult__inner{padding:0 20px}.swb-consult .swb-consult__description{margin-bottom:24px}}
@media(max-width:480px){.swb-consult .wp-block-button,.swb-consult .swb-consult__primary .wp-block-button__link{width:100%}.swb-consult :where(h2,h3){margin-bottom:16px}}
/* Preserved page-specific original CTA supplementary text. */
.swb-consult .swb-consult__kicker{font-size:16px;font-weight:400;letter-spacing:normal;margin:0 auto 12px}
.swb-consult .swb-consult__material-note{font-size:14px;line-height:1.75;margin:0 auto;max-width:38em}
/* Keep CTA heading independent of host heading borders. */
.swb-consult.swb-consult :where(h2,h3){border:0!important;padding:0!important;line-height:1.5}
.swb-consult :where(h2,h3){word-break:normal;word-break:auto-phrase;text-wrap:balance}
.swb-consult.is-style-contained{box-shadow:none;clip-path:none;border-radius:3px}
.swb-consult :where(p):empty,.swb-consult :where(h2,h3):empty,.swb-consult .swb-consult__material:has(> a:empty){display:none}
/* Standard side-by-side block layouts must not paint over their neighbours.
   Base/root styling remains independent of the page and theme. */
:where(.wp-block-column) .swb-consult.swb-consult,
:where(.wp-block-group.is-layout-flex,.wp-block-group.is-layout-grid) > .swb-consult.swb-consult{box-shadow:none;clip-path:none}

/* Legacy prose compatibility only (O1): 0,3,1; standard component values.
   Important is limited to properties blocked by the legacy important h3 rule. */
.sw-prose .sw-prose__body .swb-consult h3{margin:0 0 18px!important;font-size:clamp(23px,2.2vw,29px)!important;font-weight:700!important;line-height:1.5!important;color:#FFFFFF;padding:0!important;border:0!important}
@media(max-width:480px){.sw-prose .sw-prose__body .swb-consult h3{margin-bottom:16px!important}}

/* Restore component link foreground against legacy prose anchor color. */
.sw-prose .sw-prose__body .swb-consult :is(.swb-consult__primary,.swb-consult__material) a{color:#FFFFFF!important}

/* Legacy prose paragraph rules set margin/size/leading important and dark text.
   Role margins also outrank the legacy p:last-child (0,3,1) in either order. */
.sw-prose .sw-prose__body .swb-consult p{color:#FFFFFF;font-size:16px!important;line-height:1.85!important;margin:1em 0!important;letter-spacing:normal}
.sw-prose .sw-prose__body .swb-consult p.swb-consult__description{margin:0 auto 26px!important}
.sw-prose .sw-prose__body .swb-consult p.swb-consult__note{margin:10px auto 16px!important}
.sw-prose .sw-prose__body .swb-consult p.swb-consult__material{margin:0 auto!important}
.sw-prose .sw-prose__body .swb-consult p.swb-consult__kicker{margin:0 auto 12px!important}
.sw-prose .sw-prose__body .swb-consult p.swb-consult__material-note{font-size:14px!important;line-height:1.75!important;margin:0 auto!important}
@media(max-width:760px){.sw-prose .sw-prose__body .swb-consult p.swb-consult__description{margin-bottom:24px!important}}

/* Legacy anchor decoration: keep the material link visibly secondary. */
.sw-prose .sw-prose__body .swb-consult .swb-consult__primary a{text-underline-offset:auto}
.sw-prose__body .swb-consult .swb-consult__primary a:hover{text-underline-offset:4px}
.sw-prose .sw-prose__body .swb-consult .swb-consult__material a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.sw-prose__body .swb-consult .swb-consult__material a:hover{text-decoration-thickness:3px}

/* O-A: material underline survives host article link decoration in either order. */
.swb-consult.swb-consult .swb-consult__material a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.swb-consult.swb-consult .swb-consult__material a:hover{text-decoration-thickness:3px}
