/* WordPress content layouts reuse the approved global tokens and components. */
.posts-grid { display:grid; gap:var(--space-5); }
.posts-grid article { display:flex; flex-direction:column; min-width:0; }
.posts-grid article > a > img { width:100%; aspect-ratio:1.5; border-radius:var(--radius); }
.posts-grid .card-content { padding-block:var(--space-4); display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.posts-grid .card-content > p:first-child { font-size:var(--meta); color:var(--brown); }
.posts-grid h2 { font-size:var(--h3); }
.posts-grid h2 a { text-decoration:none; }
.posts-grid .text-link { margin-top:auto; }
.pagination,.article-categories { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-block:var(--space-5); }
.pagination { gap:var(--space-1); }
.pagination > * { min-width:36px; min-height:36px; padding:6px; text-align:center; font-size:14px; }
.pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius); text-decoration:none; }
.pagination a.page-numbers { background:var(--pale-gray); transition:background-color var(--duration) ease,color var(--duration) ease,transform var(--duration) ease; }
.pagination a.page-numbers:hover { background:var(--light-gray); color:var(--brown); text-decoration:none; transform:translateY(-1px); }
.pagination :is(.prev,.next) { padding-inline:12px; }
.pagination .page-numbers.current { background:var(--gold); }
.pagination .page-numbers.dots { background:transparent; }
@media(min-width:992px) {
 .pagination { gap:var(--space-2); }
 .pagination > * { min-width:40px; min-height:40px; padding:var(--space-1); font-size:inherit; }
 .pagination :is(.prev,.next) { padding-inline:18px; }
}
.search-inline { margin-bottom:var(--space-5); }
.search-inline .actions > input { flex:1 1 240px; }
.search-inline .actions > .button { flex:0 0 auto; }
.article-cover { margin:var(--space-6) 0; }
.article-cover img { width:100%; height:auto; border-radius:var(--radius); }
.article-body img { height:auto; max-width:100%; border-radius:var(--radius); }
.article-body table { width:100%; border-collapse:collapse; }
.article-body td,.article-body th { border-bottom:1px solid var(--light-gray); padding:var(--space-3); text-align:left; }
.article-body > :last-child { margin-bottom:0; }
.wpcf7-form-control-wrap { display:block; }
.wpcf7-form label > .wpcf7-form-control-wrap { margin-top:6px; }
.wpcf7-form input:not([type=checkbox]):not([type=submit]),.wpcf7-form textarea { width:100%; }
.wpcf7-form .form-grid { display:grid; gap:var(--space-4); }
.wpcf7-form .wpcf7-list-item { margin:0; }
.wpcf7-form .wpcf7-acceptance label { display:flex; gap:var(--space-2); font-size:var(--small); }
.wpcf7-form .wpcf7-acceptance input { flex:0 0 auto; }
.wpcf7-form .button { margin-top:0; }
.price-list { max-width:100%; overflow-x:auto; }
.service-table-section > .container { display:grid; gap:var(--space-6); }
.service-table-section .pricing-intro { max-width:52ch; }
.service-table-section .pricing-intro h2 { font-size:clamp(2rem,2.65vw,2.25rem); line-height:1.12; overflow-wrap:normal; }
.service-table-section .pricing-intro > :last-child { margin-bottom:0; }
.service-table-section .pricing-intro ul { margin-bottom:0; }
.service-table-section .price-list { overflow:hidden; border:1px solid var(--light-gray); border-radius:var(--panel-radius); background:var(--white); box-shadow:0 18px 48px rgb(34 42 39 / 6%); }
.service-table-section .price-list table { table-layout:fixed; }
.service-table-section .price-list th:first-child { width:auto; }
.service-table-section .price-list th:nth-child(2) { width:96px; }
.service-table-section .price-list th:last-child { width:112px; }
.service-table-section .price-list thead { background:var(--charcoal); color:var(--ivory); }
.service-table-section .price-list tbody tr { transition:background-color var(--duration) var(--ease-hover); }
.service-table-section .price-list tbody tr:hover { background:color-mix(in srgb,var(--gold) 8%,var(--white)); }
.service-table-section .price-list :is(th,td) { padding:var(--space-4); }
.service-table-section .price-list tr > :first-child,
.service-table-section .price-list thead tr > :first-child { padding-inline-start:var(--space-4); }
.service-table-section .price-list tr > :last-child,
.service-table-section .price-list thead tr > :last-child { padding-inline-end:var(--space-4); }
.service-table-section .price-list td:first-child > strong { display:block; font-size:1.0625rem; line-height:1.4; }
.service-table-section .price-list td:last-child { color:var(--brown); font-size:1.0625rem; }
.service-table-section .price-description { max-width:68ch; margin-top:var(--space-2); color:var(--gray); font-size:var(--small); line-height:1.65; font-weight:400; }
.service-table-section .price-description > :last-child { margin-bottom:0; }
.service-table-section .price-description ul { margin:var(--space-2) 0 0; padding-inline-start:1.25rem; }
.service-table-section .price-description li { margin-block:var(--space-1); }
.service-table-section .price-description li::marker { color:var(--orange); }
@media(max-width:767px) {
 .service-table-section .price-list { overflow:visible; border:0; border-radius:0; box-shadow:none; background:transparent; }
 .service-table-section .price-list table,
 .service-table-section .price-list tbody { display:block; }
 .service-table-section .price-list thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
 .service-table-section .price-list tbody { display:grid; gap:var(--space-3); }
 .service-table-section .price-list tbody tr { display:grid; grid-template-columns:1fr auto; gap:var(--space-3); padding:var(--space-4); border:1px solid var(--light-gray); border-radius:var(--radius); background:var(--white); }
 .service-table-section .price-list tbody td { display:block; width:auto; padding:0; border:0; }
 .service-table-section .price-list tbody tr > td:first-child { grid-column:1 / -1; padding-inline:0; }
 .service-table-section .price-list tbody tr > td:last-child { padding-inline:0; }
 .service-table-section .price-list tbody td:not(:first-child) { display:flex; align-items:baseline; gap:var(--space-2); white-space:nowrap; }
 .service-table-section .price-list tbody td:not(:first-child)::before { content:attr(data-label); color:var(--gray); font-size:var(--meta); font-weight:400; }
 .service-table-section .price-list tbody td:last-child { justify-self:end; }
}
.registration-embed iframe { width:100%; border:0; min-height:900px; }
.specialist-grid { display:grid; gap:var(--space-5); }
.specialist-grid img { width:100%; height:auto; border-radius:var(--radius); }
.specialist-grid .card-image { display:block; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); }
.specialist-grid .card-image img { width:100%; height:100%; object-fit:cover; transition:transform var(--duration-image) var(--ease); }
.specialist-grid .team-name-link { color:inherit; text-decoration:none; transition:color var(--duration) var(--ease-hover); }
.specialist-grid article:is(:hover,:focus-within) .card-image img { transform:scale(1.035); }
.specialist-grid article:is(:hover,:focus-within) .team-name-link { color:var(--brown); }
.content-media :is(video,iframe) { display:block; width:100%; min-height:280px; border:0; border-radius:var(--radius); }
.content-columns > .content-copy > .theme-icon { color:var(--orange); width:32px; height:32px; margin-bottom:var(--space-3); }
@media(min-width:992px) {
 .posts-grid,.specialist-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .admin-bar .site-header { top:32px; }
 .image-text .content-media :is(video,iframe) { position:absolute; inset:0; height:100%; object-fit:cover; }
 .image-text.has-bleed .content-media { margin-inline-start:calc((min(1240px,100vw - 80px) - 100vw)/2); }
 .image-text.has-bleed.is-right .content-media { margin-inline-start:0; margin-inline-end:calc((min(1240px,100vw - 80px) - 100vw)/2); }
}
/* Editorial layouts extend the approved Rehabu spacing, typography and controls. */
.service-overview { align-items:start; }
.service-overview > .intro { max-width:none; }
.visit-card { padding:var(--space-5); border-radius:var(--panel-radius); background:var(--pale-gray); }
.visit-card > .button { margin-top:var(--space-4); }
.logo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); }
.content-section > .container > .intro + .logo-grid { margin-top:var(--space-5); }
.logo-grid > div { display:grid; place-items:center; padding:var(--space-4); background:var(--white); border-radius:var(--radius); min-height:112px; }
.logo-grid img { width:100%; height:72px; object-fit:contain; }
.section-nav { padding-block:var(--space-4); border-bottom:1px solid var(--light-gray); }
.section-nav .container { display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--space-3) var(--space-5); }
.section-nav span { color:var(--gray); font-size:var(--small); }
.section-nav ul { display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-4); list-style:none; margin:0; padding:0; }
.section-nav li { margin:0; font-size:var(--small); }
.feature-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-5); }
.content-section > .container > .intro + .feature-grid { margin-top:var(--space-5); }
.feature-grid > div { padding-block:var(--space-4); border-top:1px solid var(--light-gray); }
.feature-grid .theme-icon { color:var(--orange); width:32px; height:32px; margin-bottom:var(--space-3); }
.feature-grid h3 { margin-bottom:var(--space-3); }
:is(.team-actions,.steps-actions):empty { display:none; }
.faq-section > .container { display:grid; gap:var(--space-6); }
.faq-section > .container > .intro,
.faq-section > .container > .intro > :last-child { margin-bottom:0; }
.editorial-layout { display:grid; gap:var(--space-6); }
.editorial-sidebar summary { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); list-style:none; padding-block:var(--space-3); font-weight:600; line-height:1.35; cursor:pointer; }
.editorial-sidebar summary::-webkit-details-marker { display:none; }
.editorial-sidebar summary .theme-icon { transition:transform var(--duration) var(--ease); }
.editorial-sidebar details[open] > summary .theme-icon { transform:rotate(180deg); }
.editorial-sidebar nav { border-block:1px solid var(--light-gray); padding-block:var(--space-3); }
.editorial-sidebar ol { list-style:none; padding:0; margin:0; }
.editorial-sidebar li { margin:0; }
.editorial-sidebar nav a { display:block; padding:10px 0 10px var(--space-3); border-inline-start:2px solid transparent; text-decoration:none; font-size:var(--small); line-height:1.45; color:var(--gray); transition:color var(--duration) var(--ease-hover),border-color var(--duration) var(--ease-hover); }
.editorial-sidebar nav a:hover { color:var(--orange); }
.editorial-sidebar nav a.is-active,
.editorial-sidebar nav a[aria-current="location"] { color:var(--orange); border-inline-start-color:var(--orange); }
.editorial-sidebar nav a.is-active,
.editorial-sidebar nav a[aria-current="location"] { font-weight:600; }
.editorial-sidebar > .text-link { display:inline-flex; margin-top:var(--space-3); color:var(--charcoal); }
.editorial-body { width:100%; max-width:68ch; min-width:0; font-size:var(--body); line-height:1.75; }
.editorial-body > :is(h2,h3) { margin-top:var(--space-8); margin-bottom:var(--space-4); scroll-margin-top:160px; }
.editorial-body > h2 { font-size:clamp(1.5rem,2vw,2rem); line-height:1.25; letter-spacing:-.025em; }
.editorial-body > h3 { font-size:var(--h3); line-height:1.35; }
.editorial-body > :first-child { margin-top:0; padding-top:0; border:0; }
.editorial-body > p { margin-bottom:var(--space-4); }
.editorial-body > p:first-child > strong:only-child { display:block; font-size:1.125rem; line-height:1.55; }
.editorial-body :is(ul,ol) { padding-inline-start:1.5em; }
.editorial-body > :is(ul,ol) { margin-block:0 var(--space-6); }
.editorial-body :is(ul,ol) :is(ul,ol) { margin-block:var(--space-2) var(--space-3); }
.editorial-body li { margin-block:0 var(--space-3); padding-inline-start:.35em; }
.editorial-body li::marker { color:var(--brown); font-weight:600; }
.editorial-body li > p { display:block; margin:0; line-height:1.75; }
.editorial-body a { text-decoration-color:color-mix(in srgb,var(--brown) 55%,transparent); }
.editorial-body address { margin-block:var(--space-4) var(--space-6); font-style:normal; line-height:1.75; }
.editorial-body table { width:100%; margin-block:var(--space-5); border-collapse:collapse; }
.editorial-body :is(th,td) { padding:var(--space-3); border-bottom:1px solid var(--light-gray); text-align:start; vertical-align:top; }
.editorial-body th { font-weight:600; background:var(--pale-gray); }
.editorial-body img { border-radius:var(--radius); margin-block:var(--space-5); height:auto; }
.editorial-body blockquote { margin:var(--space-5) 0; padding:var(--space-5); border-inline-start:3px solid var(--gold); background:var(--pale-gray); border-radius:var(--radius); }
.article-header { background:var(--pale-gray); }
.article-header .intro h1 { font-size:var(--h2); }
.article-header .content-copy > .intro { margin-bottom:var(--space-4); }
.article-header .content-media > img { min-height:300px; }
.article-lead { color:var(--gray); }
.registration-bar > .article-contact { padding-block:var(--section-space); gap:var(--space-5); }
.article-contact .intro { max-width:520px; }
.return-nav { background:var(--ivory); }
.return-nav.is-soft { background:var(--pale-gray); }
.return-nav .container { display:block; }
.return-nav .text-link { width:max-content; text-decoration:none; }
.return-nav .text-link > span { color:var(--orange); font-size:1.5em; line-height:0; transition:transform var(--duration) var(--ease-hover); }
.return-nav .text-link:hover > span { transform:translateX(-4px); }
.image-text.specialist-header { background:var(--white); }
.specialist-header .content-copy { align-self:center; }
.specialist-header .article-lead { max-width:62ch; margin-block:var(--space-5); color:var(--gray); }
.specialist-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); margin-top:var(--space-5); }
.specialist-phone { display:inline-flex; align-items:center; gap:var(--space-2); min-height:44px; border:0; color:var(--charcoal); font-weight:600; text-decoration:none; transition:color var(--duration) var(--ease-hover),transform var(--duration) var(--ease-hover); }
.specialist-phone .theme-icon { color:var(--orange); transition:transform var(--duration) var(--ease-hover); }
.specialist-phone:active { transform:scale(.98); }
.specialist-story { --profile-panel-row-gap:var(--space-5); --profile-panel-column-gap:60px; --profile-panel-padding-block:var(--space-6); }
.specialist-story .editorial-layout.has-no-toc { max-width:none; }
.specialist-story-heading { max-width:760px; margin-bottom:var(--space-7); }
.specialist-story-heading > :last-child { margin-bottom:0; }
.specialist-story .editorial-body { display:grid; row-gap:var(--profile-panel-row-gap); column-gap:var(--profile-panel-column-gap); max-width:none; }
.specialist-story .editorial-body > p { max-width:72ch; height:100%; margin:0; padding:var(--profile-panel-padding-block) var(--space-5); border-radius:var(--panel-radius); background:var(--white); }
.specialist-story .editorial-body > .specialist-narrative { display:grid; row-gap:var(--profile-panel-row-gap); column-gap:var(--profile-panel-column-gap); padding-block:var(--profile-panel-padding-block); padding-inline:clamp(var(--space-5),4vw,var(--space-7)); border-radius:var(--panel-radius); background:var(--white); }
.specialist-narrative-column > :first-child { margin-top:0; }
.specialist-narrative-column > :last-child { margin-bottom:0; }
.specialist-story .editorial-body > h2 { grid-column:1/-1; margin-bottom:0; }
.specialist-story .editorial-body > ul { grid-column:1/-1; margin:0; padding:var(--profile-panel-padding-block) var(--space-6) var(--profile-panel-padding-block) calc(var(--space-6) + 1rem); border-radius:var(--panel-radius); background:var(--white); columns:2 280px; column-gap:var(--profile-panel-column-gap); }
.specialist-story .editorial-body > ul li { break-inside:avoid; margin-bottom:var(--space-2); }
.team-collaboration .content-copy { max-width:920px; padding:var(--space-7); border-radius:var(--panel-radius); background:var(--ivory); }
.team-collaboration .content-copy h2 { max-width:24ch; }
.team-directory-section + .team-collaboration { margin-top:calc(var(--section-space) * -0.35); }
.specialist-grid h3 { margin:var(--space-4) 0 var(--space-1); }
.specialist-grid .content-copy > p { color:var(--gray); margin-bottom:var(--space-3); }
.specialist-grid article { min-width:0; }
.image-text .accordion:empty { display:none; }
@media(min-width:768px) {
 .logo-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:992px) {
 .service-table-section > .container { grid-template-columns:minmax(320px,.4fr) minmax(0,1fr); gap:var(--space-8); align-items:start; }
 .service-table-section .pricing-intro { position:sticky; top:160px; }
 .faq-section > .container { gap:var(--space-7); }
 .service-overview { grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); }
 .editorial-layout { grid-template-columns:240px minmax(0,1fr); gap:var(--space-10); }
 .editorial-layout.has-no-toc { display:block; max-width:68ch; margin-inline:auto; }
 .editorial-sidebar { align-self:start; position:sticky; top:140px; }
 .editorial-sidebar nav { max-height:calc(100vh - 290px); overflow:auto; }
 .registration-bar > .article-contact { grid-template-columns:minmax(280px,1fr) auto; gap:var(--space-10); }
 .article-contact .actions { flex-wrap:nowrap; justify-self:end; }
 .article-contact .actions > .button { flex:0 0 auto; min-width:0; white-space:nowrap; }
 .specialist-header > .container { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); }
 .specialist-story .editorial-body { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .is-profile-structured .specialist-narrative { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .is-profile-structured .specialist-narrative.has-one-column { grid-template-columns:minmax(0,1fr); }
 .article-header .content-media { min-height:380px; }
}
@media(prefers-reduced-motion:reduce) {
 .editorial-sidebar summary .theme-icon { transition-duration:0.01ms; }
}

