/* A task-led marketplace: people, reviews, documented context and comparison. */
.marketplace-theme { --ink: #182b45; --muted: #526176; --green: #1d58ba; --line: #dce3ee; --soft: #f3f6fa; }
.marketplace-theme .header-inner { height: 86px; gap: 20px; }
.marketplace-theme .desktop-nav { gap: 22px; }
.marketplace-theme .desktop-nav a { font-size: 12px; }
.marketplace-theme .header-actions { gap: 13px; }
.fixture-ribbon { background: #fff8e9; border-bottom: 1px solid #f0e2c6; color: #69542e; font-size: 11px; }
.fixture-ribbon > .container { display: flex; align-items: center; gap: 9px; min-height: 35px; padding-block: 7px; }
.fixture-ribbon a { margin-left: auto; font-weight: 650; white-space: nowrap; }
.fixture-ribbon strong { font-weight: 700; }
.portal-hero { background: #eaf1fc; padding: 30px 0 0; }
.portal-hero-grid { display: grid; grid-template-columns: 1fr 1fr; position: relative; }
.portal-hero-copy { padding: 31px 30px 82px 0; }
.hero-overline { font-size: 10px; font-weight: 750; letter-spacing: .1em; display: flex; gap: 10px; align-items: center; color: #325277; margin-bottom: 20px; }
.hero-overline > span { width: 7px; height: 7px; border-radius: 50%; background: #26715d; }
.portal-hero h1 { font-size: clamp(42px,4.5vw,62px); font-weight: 750; line-height: 1.06; letter-spacing: -.048em; }
.portal-hero h1 > span { color: var(--green); }
.portal-hero-copy > p:not(.hero-overline) { font-size: 16px; line-height: 1.75; margin-top: 22px; }
.hero-proof-points { display: flex; gap: 25px; margin-top: 24px; font-size: 11px; font-weight: 600; color: #405878; }
.hero-proof-points > span { display: flex; gap: 8px; align-items: center; }
.hero-human { position: relative; min-height: 445px; margin-left: 7px; border-radius: 16px 16px 0 0; overflow: hidden; background: #d7e0e8; }
.hero-human > img { height: 100%; width: 100%; object-fit: cover; object-position: center top; }
.hero-photo-caption { position: absolute; top: 16px; right: 16px; font-size: 9px; background: #11253dcf; color: white; padding: 5px 8px; border-radius: 4px; }
.hero-person-tag { position: absolute; bottom: 76px; left: 22px; right: 22px; width: fit-content; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 9px; background: white; box-shadow: 0 5px 25px #11253d20; }
.human-tag-icon { color: var(--green); background: #edf3fc; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; }
.hero-person-tag strong { display: block; font-size: 13px; }
.hero-person-tag span:not(.human-tag-icon) { display: block; font-size: 11px; color: var(--muted); margin-top: 3px; }
.market-search { background: white; border: 1px solid #d7e1ef; border-radius: 12px; display: grid; grid-template-columns: 1.1fr 1fr auto; padding: 17px; gap: 18px; align-items: center; box-shadow: 0 8px 28px #203c6420; }
.hero-market-search { grid-column: 1/-1; position: relative; margin: -46px 32px -45px; z-index: 2; }
.market-search .search-field { display: block; padding: 0 13px; border-right: 1px solid var(--line); min-width: 0; }
.search-field label { display: block; font-size: 11px; font-weight: 650; margin-bottom: 6px; }
.search-field > div { display: flex; align-items: center; gap: 13px; }
.search-field svg { color: #64748a; }
.search-field select { min-width: 0; width: 100%; font-size: 14px; background: white; border: 0; padding: 6px 3px; min-height: 35px; }
.market-search > .button { min-height: 56px; padding-inline: 25px; }
.profession-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; padding-top: 78px; padding-bottom: 31px; border-bottom: 1px solid var(--line); }
.profession-shortcut { display: flex; align-items: center; gap: 16px; text-decoration: none; padding: 11px; border: 1px solid #dde5ef; border-radius: 10px; background: #fff; }
.profession-shortcut:hover { background: #f5f8fd; border-color: #a6bddf; }
.profession-shortcut > img { width: 87px; height: 65px; object-fit: cover; object-position: center top; border-radius: 6px; }
.profession-shortcut > span { flex: 1; }
.profession-shortcut strong { display: block; font-size: 17px; line-height: 1.4; }
.profession-shortcut > span > span { font-size: 11px; color: var(--muted); }
.profession-shortcut > svg { margin-right: 10px; color: var(--green); }
.marketplace-section { padding-block: 63px; }
.market-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 29px; }
.market-heading .eyebrow { margin-bottom: 12px; font-size: 10px; letter-spacing: .08em; }
.market-heading h2 { font-size: 37px; line-height: 1.15; font-weight: 700; letter-spacing: -.04em; }
.market-heading p:not(.eyebrow) { font-size: 14px; margin-top: 14px; line-height: 1.75; }
.market-heading > a { font-size: 12px; white-space: nowrap; flex-shrink: 0; }
.market-heading-aside { max-width: 410px; }
.market-tabs { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 26px; }
.market-tabs a, .market-tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #d6dfeb; border-radius: 7px; padding: 11px 18px; min-height: 43px; font-size: 12px; font-weight: 550; text-decoration: none; background: white; }
.market-tabs a[aria-current], .market-tabs button[aria-pressed=true] { background: var(--ink); border-color: var(--ink); color: white; }
.market-tabs a:hover, .market-tabs button:hover { border-color: #516d96; }
.provider-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.provider-card { min-width: 0; border: 1px solid var(--line); background: white; border-radius: 11px; overflow: hidden; box-shadow: 0 3px 13px #24395c07; }
.provider-card:hover { border-color: #9cb7df; box-shadow: 0 6px 18px #24395c10; }
.provider-photo { position: relative; aspect-ratio: 4/3; overflow: hidden; background: #e7edf4; }
.provider-photo > a { display: block; height: 100%; }
.provider-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.photo-source { position: absolute; bottom: 12px; right: 12px; font-size: 9px; padding: 4px 7px; border-radius: 4px; color: white; background: #0d233ad9; }
.photo-bookmark { width: 37px; height: 37px; position: absolute; right: 13px; top: 13px; display: inline-flex; justify-content: center; align-items: center; color: #173c6d; border: 1px solid #fff; border-radius: 50%; background: white; box-shadow: 0 2px 8px #11253d20; }
[data-provider-save][aria-pressed=true] { background: #e3edfc; border-color: #578bd5; color: #17489c; }
[data-provider-save][aria-pressed=true] svg { fill: currentColor; }
.provider-category { display: flex; align-items: center; gap: 6px; position: absolute; bottom: 12px; left: 13px; padding: 5px 9px; font-size: 10px; background: white; color: #203851; border-radius: 4px; }
.provider-info { padding: 18px 20px 13px; }
.provider-location { display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--muted); flex-wrap: wrap; }
.provider-location > span { font-size: 9px; margin-left: auto; color: #715c37; }
.provider-info h3 { font-size: 22px; line-height: 1.2; margin: 10px 0; font-weight: 700; }
.provider-info h3 a { text-decoration: none; }
.provider-info h3 a:hover { text-decoration: underline; }
.provider-rating, .profile-rating { display: flex; align-items: center; gap: 8px; font-size: 12px; flex-wrap: wrap; }
.provider-rating > a { font-size: 10px; color: var(--muted); }
.rating-stars { display: inline-block; position: relative; color: #d9dce2; letter-spacing: 1px; font-size: 17px; line-height: 1.3; white-space: nowrap; flex-shrink: 0; }
.rating-stars-fill { position: absolute; top: 0; left: 0; overflow: hidden; color: #b96809; }
.provider-promise { font-size: 12px; line-height: 1.7; margin: 13px 0; min-height: 41px; }
.specialty-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.specialty-chips > span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; background: #f1f5fa; font-size: 10px; border-radius: 4px; color: #445772; }
.provider-evidence { display: flex; gap: 14px; margin: 16px 0; font-size: 10px; color: #45624f; flex-wrap: wrap; }
.provider-evidence > span { display: flex; align-items: center; gap: 5px; }
.provider-bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 0 13px; border-block: 1px solid #e2e8f1; }
.provider-bottom > div > span { display: block; font-size: 9px; color: var(--muted); }
.provider-bottom strong { display: block; font-size: 18px; font-weight: 700; }
.provider-bottom .button { font-size: 11px; padding: 10px 14px; min-height: 43px; gap: 9px; }
.compare-toggle { border: 0; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; font-size: 10px; width: 100%; color: #486180; }
.compare-toggle[aria-pressed=true] { color: #1856b2; font-weight: 700; }
.section-source-note { display: flex; align-items: flex-start; gap: 7px; font-size: 10px; line-height: 1.7; color: #637088; margin-top: 19px; }
.section-source-note svg { margin-top: 2px; }
.reviews-home { background: #f2f5fa; border-block: 1px solid #e3e9f1; }
.review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; align-items: start; }
.review-card { border: 1px solid #dce4ee; border-radius: 10px; padding: 22px; background: white; min-width: 0; }
.review-top { display: flex; gap: 11px; align-items: center; flex-wrap: wrap; }
.person-avatar { display: grid; place-items: center; width: 43px; height: 43px; background: #e7edf6; color: #385477; font-weight: 650; font-size: 17px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.person-avatar img { width: 100%; height: 100%; object-fit: cover; }
.review-top > div { flex: 1; }
.review-top strong { display: block; font-size: 13px; }
.review-top > div > span { display: block; font-size: 9px; color: #526176; margin-top: 2px; }
.sample-label { font-size: 9px; color: #76613d; font-weight: 500; letter-spacing: .005em; }
.review-top > .sample-label { width: 100%; padding-left: 54px; margin-top: -9px; }
.review-meta { display: flex; align-items: center; gap: 9px; margin: 18px 0 12px; font-size: 10px; }
.review-meta .rating-stars { font-size: 16px; }
.review-meta time { margin-left: auto; color: #65728a; font-size: 9px; }
.review-card h3 { font-size: 13px; font-weight: 650; letter-spacing: -.01em; margin-bottom: 10px; }
.review-card blockquote { margin: 0 0 19px; font-size: 13px; line-height: 1.85; color: #35465d; }
.verification-detail summary { display: flex; align-items: center; gap: 6px; font-size: 10px; color: #31644b; list-style: none; cursor: pointer; padding: 8px 0; min-height: 34px; }
.verification-detail summary::-webkit-details-marker { display: none; }
.verification-detail p { font-size: 11px; padding: 9px 0 13px; }
.provider-reply { border-top: 1px solid var(--line); margin-top: 10px; }
.provider-reply summary { display: flex; align-items: center; gap: 7px; font-size: 11px; padding: 12px 0; cursor: pointer; }
.provider-reply p { font-size: 12px; }
.provider-reply small { font-size: 10px; }
.review-card footer { border-top: 1px solid #e4e9f1; margin-top: 13px; padding-top: 13px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.review-card footer a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; font-size: 10px; font-weight: 600; }
.review-card footer a:hover { text-decoration: underline; }
.review-case-link { color: var(--green); }
.review-explainer { display: flex; align-items: center; gap: 18px; border: 1px solid #d7e1ef; border-radius: 9px; padding: 22px 25px; margin-top: 28px; background: #e8eff9; }
.review-explainer > svg { color: #315c98; }
.review-explainer > div { flex: 1; }
.review-explainer strong { font-size: 13px; }
.review-explainer p { font-size: 12px; margin-top: 4px; }
.review-explainer > a { font-size: 11px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.case-card { border: 1px solid var(--line); border-radius: 11px; background: white; overflow: hidden; min-width: 0; }
.case-card-photo { display: block; position: relative; aspect-ratio: 4/3; overflow: hidden; }
.case-card-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.case-category { position: absolute; top: 15px; left: 15px; background: #fff; padding: 6px 10px; border-radius: 4px; font-size: 10px; font-weight: 550; }
.case-card-body { padding: 22px 25px; }
.case-card-byline { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; font-size: 10px; color: #56687f; }
.case-card-byline a { text-decoration: none; font-weight: 600; }
.case-card-byline > span { margin-left: auto; font-size: 9px; }
.case-card h3 { font-size: 24px; font-weight: 700; line-height: 1.25; margin: 13px 0; }
.case-card h3 a { text-decoration: none; }
.case-card h3 a:hover { text-decoration: underline; }
.case-card-body > p { font-size: 13px; line-height: 1.75; }
.case-facts { display: flex; flex-wrap: wrap; gap: 21px; font-size: 11px; padding-block: 19px; }
.case-facts > span { display: flex; align-items: center; gap: 6px; }
.case-card-actions { border-top: 1px solid var(--line); padding-top: 17px; display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; }
.case-card-actions .text-link { font-size: 11px; }
.similar-link { font-size: 10px; text-decoration: none; color: var(--green); font-weight: 600; display: flex; align-items: center; gap: 7px; }
.circle-section { padding: 0; background: #17324f; color: white; }
.circle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 67px; align-items: center; }
.circle-image { position: relative; height: 100%; min-height: 400px; }
.circle-image > img { width: 100%; height: 100%; object-fit: cover; }
.circle-copy { padding-block: 58px; }
.circle-copy .eyebrow { color: #b8d2f5; font-size: 10px; }
.circle-copy h2 { font-size: 43px; line-height: 1.13; font-weight: 650; }
.circle-copy > p { font-size: 14px; color: #d6dfeb; margin-top: 24px; max-width: 485px; }
.circle-actions { display: flex; gap: 19px; align-items: center; flex-wrap: wrap; margin: 25px 0 16px; }
.circle-actions .button { background: white; color: #153d73; font-size: 12px; }
.circle-actions .text-link { color: #fff; border-color: #a7b8d0; font-size: 11px; }
.circle-copy small { font-size: 10px; color: #becfe2; }
.journey-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.journey-row > a { display: flex; align-items: center; gap: 14px; padding: 27px 22px; text-decoration: none; border-right: 1px solid var(--line); }
.journey-row > a:last-child { border-right: 0; }
.journey-row > a > span { color: #285eaa; }
.journey-row > a > div { flex: 1; }
.journey-row strong { font-size: 14px; }
.journey-row p { font-size: 11px; margin-top: 5px; }
.market-faq { padding-top: 13px; padding-bottom: 60px; }
.market-faq h2 { font-size: 34px; }
.marketplace-intro { padding-top: 45px; padding-bottom: 4px; }
.marketplace-intro > .eyebrow { margin-bottom: 17px; }
.marketplace-intro h1 { font-size: clamp(36px,4vw,55px); line-height: 1.12; letter-spacing: -.04em; font-weight: 700; }
.marketplace-intro h1 > span { color: #365d91; }
.marketplace-intro > p:not(.eyebrow) { font-size: 15px; max-width: 690px; margin-top: 19px; }
.marketplace-intro .breadcrumbs { padding: 0; margin-bottom: 31px; }
.provider-directory { display: grid; grid-template-columns: 255px minmax(0,1fr); gap: 29px; align-items: start; padding-top: 35px; }
.directory-form { background: #f4f7fb; border: 1px solid #dce4f0; border-radius: 10px; padding: 23px 20px; }
.directory-filter-disclosure > summary { display: none; }
.directory-form h2 { font-size: 17px; display: flex; gap: 10px; align-items: center; letter-spacing: -.02em; }
.directory-form .form-field { margin-top: 22px; }
.directory-form label { font-size: 11px; font-weight: 650; }
.directory-form input, .directory-form select { font-size: 12px; min-height: 44px; padding: 10px 11px; border-radius: 5px; }
.directory-form > .button { width: 100%; font-size: 12px; min-height: 45px; margin-top: 18px; }
.filter-checkbox { display: flex; align-items: center; gap: 9px; margin-top: 22px; }
.filter-checkbox input { width: 16px; height: 16px; min-height: 16px; accent-color: var(--green); }
.reset-filter { display: block; text-align: center; border: 0; margin-top: 13px; color: var(--muted); font-size: 11px; text-decoration: underline; }
.filter-advice { padding: 25px 9px; }
.filter-advice > svg { color: #3c6e50; }
.filter-advice h3 { font-size: 17px; line-height: 1.4; margin: 11px 0 8px; }
.filter-advice p { font-size: 12px; }
.filter-advice a { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; margin-top: 16px; }
.directory-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 19px; }
.directory-results-heading h2 { font-size: 23px; }
.directory-results-heading h2 > span, .heading-count { display: inline-grid; place-items: center; min-width: 25px; height: 25px; border-radius: 5px; background: #eaf0f8; color: #49607e; font-size: 13px; margin-left: 7px; vertical-align: middle; }
.directory-results-heading > span { font-size: 10px; color: var(--muted); }
.active-filter-summary { display: flex; flex-wrap: wrap; gap: 7px; }
.active-filter-summary > span { font-size: 10px; border: 1px solid var(--line); border-radius: 5px; padding: 5px 10px; margin-bottom: 17px; }
.directory-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 21px; }
.market-empty { grid-column: 1/-1; background: #f2f6fc; border: 1px dashed #b8cae4; padding: 45px 25px; text-align: center; border-radius: 11px; }
.market-empty > span { display: inline-block; color: #466fa9; margin-bottom: 18px; }
.market-empty > .empty-icon { display: inline-flex; align-items: center; justify-content: center; }
.market-empty h2, .market-empty h3 { font-size: 25px; line-height: 1.3; }
.market-empty p { max-width: 520px; margin: 15px auto 24px; font-size: 14px; }
.market-empty .button-row { justify-content: center; }
.reviews-filter { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 18px; padding: 23px; background: #f2f6fb; border: 1px solid #dce4ee; border-radius: 10px; margin-bottom: 28px; }
.reviews-filter label { font-size: 11px; display: block; margin-bottom: 8px; font-weight: 600; }
.reviews-filter select { padding: 13px 35px 13px 13px; border: 1px solid #b7c7dd; border-radius: 5px; font-size: 13px; min-height: 48px; background: white; }
.reviews-filter .button { min-height: 48px; font-size: 12px; }
.reviews-filter > a { font-size: 11px; margin-left: auto; margin-bottom: 16px; }
.all-reviews { row-gap: 24px; }
.nonrating-label { font-size: 10px; color: #566985; background: #edf2f9; padding: 5px 8px; border-radius: 4px; }
.case-filter-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.case-filter-row > span { font-size: 11px; color: var(--muted); padding-top: 12px; }
.medical-case-note { display: flex; align-items: center; gap: 19px; margin-top: 35px; padding: 27px 0; border-block: 1px solid var(--line); }
.medical-case-note > div { flex: 1; }
.medical-case-note h2 { font-size: 20px; }
.medical-case-note p { font-size: 13px; margin-top: 9px; max-width: 800px; }
.medical-case-note > a { font-size: 11px; white-space: nowrap; }
.profile-top .breadcrumbs, .case-intro .breadcrumbs { padding-top: 24px; padding-bottom: 25px; }
.profile-cover { position: relative; height: 355px; border-radius: 12px; overflow: hidden; background: #193757; }
.profile-cover > img { margin-left: auto; width: 72%; height: 100%; object-fit: cover; object-position: center top; }
.profile-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#193757 5%,#193757ea 23%,#19375700 60%); pointer-events: none; }
.profile-cover-caption { position: absolute; bottom: 33px; left: 33px; z-index: 1; color: #fff; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; font-size: 18px; font-weight: 650; max-width: 250px; }
.profile-cover-caption > span { display: block; width: 100%; font-size: 12px; color: #d1ddec; font-weight: 400; padding-left: 30px; }
.profile-cover .photo-source { z-index: 1; }
.profile-identity { display: flex; align-items: flex-start; gap: 22px; position: relative; padding: 28px 0; }
.profile-monogram { display: grid; place-items: center; width: 77px; height: 77px; margin-top: -62px; background: white; border-radius: 12px; border: 1px solid var(--line); color: var(--green); box-shadow: 0 3px 14px #14325714; flex-shrink: 0; }
.profile-identity > div:nth-child(2) { flex: 1; }
.profile-identity h1 { font-size: 35px; line-height: 1.2; letter-spacing: -.035em; margin: 5px 0 11px; }
.profile-identity p { font-size: 13px; max-width: 700px; }
.profile-rating { margin-top: 15px; font-size: 12px; gap: 12px; }
.profile-rating > span:not(.rating-stars) { color: var(--muted); border-left: 1px solid var(--line); padding-left: 13px; }
.profile-save { padding-top: 8px; }
.profile-save .button { font-size: 12px; min-height: 45px; padding: 10px 19px; }
.profile-save .compare-toggle { font-size: 11px; }
.profile-nav { display: flex; border-bottom: 1px solid #cfdbea; gap: 33px; flex-wrap: wrap; }
.profile-nav a { display: inline-flex; align-items: center; gap: 7px; padding: 13px 0; text-decoration: none; font-size: 13px; font-weight: 600; border-bottom: 2px solid transparent; }
.profile-nav a:hover, .profile-nav a:focus-visible { border-bottom-color: var(--green); }
.profile-nav a > span { font-size: 10px; color: #5c6f8a; }
.profile-layout, .case-layout { display: grid; grid-template-columns: minmax(0,1fr) 322px; gap: 48px; align-items: start; padding-top: 35px; }
.profile-main, .case-layout > div { min-width: 0; }
.profile-section { scroll-margin-top: 25px; padding-bottom: 43px; margin-bottom: 39px; border-bottom: 1px solid var(--line); }
.profile-section .eyebrow { font-size: 10px; margin-bottom: 13px; }
.profile-section h2 { font-size: 29px; line-height: 1.2; margin-bottom: 19px; }
.profile-section > p { font-size: 14px; line-height: 1.8; margin-top: 16px; }
.profile-specialties { margin: 23px 0; }
.profile-specialties > span { font-size: 11px; padding: 8px 11px; }
.profile-scope { padding: 21px 23px; background: #f1f5fb; border-radius: 8px; margin-top: 23px; }
.profile-scope h3 { display: flex; align-items: center; gap: 9px; font-size: 16px; line-height: 1.4; margin-bottom: 10px; }
.profile-scope p { font-size: 12px; line-height: 1.8; }
.compact.market-heading { margin-bottom: 19px; }
.compact.market-heading h2 { margin-bottom: 0; }
.compact.market-heading > a { font-size: 10px; }
.profile-cases { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px; }
.profile-cases .case-card-body { padding: 18px; }
.profile-cases .case-card h3 { font-size: 20px; }
.profile-cases .case-card-body > p { font-size: 12px; }
.profile-cases .case-card-byline > span { width: 100%; margin-left: 0; }
.profile-cases .case-facts { gap: 12px; font-size: 10px; }
.profile-cases .case-card-actions { gap: 13px; }
.profile-cases .similar-link { font-size: 9px; }
.review-summary { display: flex; gap: 29px; padding: 25px; background: #f5f7fb; border: 1px solid var(--line); border-radius: 9px; margin: 22px 0; }
.review-summary > div:first-child { min-width: 177px; border-right: 1px solid var(--line); padding-right: 25px; }
.review-summary > div > strong { font-size: 45px; display: block; line-height: 1.15; letter-spacing: -.04em; }
.review-summary > div > span:last-child { display: block; font-size: 10px; color: var(--muted); margin-top: 8px; }
.review-summary h3 { font-size: 16px; line-height: 1.4; margin-bottom: 9px; }
.review-summary p { font-size: 12px; }
.review-filter-controls { margin-bottom: 0; }
.filter-announcement { font-size: 11px; min-height: 18px; margin-block: 8px; }
.profile-reviews { display: grid; gap: 17px; }
.profile-reviews .review-top > .sample-label { width: auto; padding-left: 0; margin-top: 0; }
.profile-reviews .review-card { padding: 25px; }
.profile-reviews .review-card blockquote { font-size: 14px; }
.profile-standards { padding: 0; list-style: none; margin-block: 22px; }
.profile-standards li { display: flex; gap: 12px; align-items: center; font-size: 14px; padding: 12px 0; }
.profile-standards svg { color: #367455; }
.team-person { display: flex; align-items: center; gap: 19px; padding: 22px; border: 1px solid var(--line); border-radius: 9px; text-decoration: none; }
.team-person > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #e9f0fa; color: #3d659a; }
.team-person > div { flex: 1; }
.team-person strong { font-size: 18px; }
.team-person p { font-size: 12px; }
.team-person small { font-size: 10px; color: var(--muted); }
.contact-panel { border: 1px solid #cbd9ed; border-top: 4px solid var(--green); border-radius: 10px; padding: 25px; background: white; box-shadow: 0 5px 22px #1b375410; }
.contact-panel > .eyebrow { font-size: 9px; margin-bottom: 17px; }
.contact-panel h2 { font-size: 27px; line-height: 1.15; letter-spacing: -.035em; }
.contact-price { border-block: 1px solid var(--line); margin: 22px 0; padding: 19px 0; }
.contact-price > span { font-size: 12px; color: var(--muted); display: block; }
.contact-price > strong { font-size: 29px; font-weight: 700; display: block; }
.contact-price > small { font-size: 10px; color: #736140; display: block; }
.contact-panel > p { font-size: 11px; display: flex; align-items: center; gap: 7px; margin: 17px 0; }
.contact-panel > .button { width: 100%; font-size: 12px; justify-content: space-between; padding-inline: 16px; gap: 9px; }
.contact-hint { display: block; font-size: 10px; color: #65728a; margin: 13px 0 18px; line-height: 1.75; }
.contact-location { display: flex; gap: 11px; align-items: flex-start; padding-top: 19px; border-top: 1px solid var(--line); }
.contact-location strong { font-size: 12px; display: block; }
.contact-location span { font-size: 10px; display: block; color: var(--muted); margin-top: 4px; }
.profile-sidebar { position: sticky; top: 22px; }
.profile-aside-note { padding: 26px 12px; }
.profile-aside-note > svg { display: block; margin-bottom: 13px; color: #456fa6; }
.profile-aside-note strong { display: block; font-size: 14px; }
.profile-aside-note p { font-size: 12px; margin-top: 11px; }
.profile-aside-note a { display: inline-block; font-size: 11px; margin-top: 14px; }
.case-intro h1 { max-width: 900px; font-size: 48px; line-height: 1.14; }
.case-intro > .eyebrow { margin-top: 12px; font-size: 10px; }
.case-lead { font-size: 17px; margin: 19px 0; max-width: 800px; }
.case-provider-line { display: flex; align-items: center; gap: 23px; flex-wrap: wrap; font-size: 12px; }
.case-provider-line > a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none; }
.case-provider-line > span { font-size: 11px; color: var(--muted); }
.case-gallery { min-width: 0; }
.gallery-main-button { display: block; position: relative; padding: 0; width: 100%; border: 0; border-radius: 11px; overflow: hidden; background: #eaf0f7; }
.gallery-main-button > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.gallery-main-button > span { display: flex; gap: 7px; align-items: center; position: absolute; right: 17px; bottom: 17px; border-radius: 5px; padding: 10px 14px; background: white; color: #1d3f6b; font-size: 11px; box-shadow: 0 2px 8px #0002; }
.case-gallery figcaption { font-size: 10px; color: var(--muted); padding: 10px 0 15px; }
.gallery-thumbs { display: flex; gap: 12px; }
.gallery-thumbs > button { width: 150px; min-width: 0; flex: 0 1 150px; padding: 0; overflow: hidden; text-align: left; border: 1px solid #ccd9ea; border-radius: 6px; background: white; }
.gallery-thumbs img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.gallery-thumbs span { display: block; font-size: 10px; padding: 9px; }
.photo-dialog { width: min(1050px,calc(100% - 32px)); max-height: calc(100vh - 40px); padding: 0; border: 0; border-radius: 12px; background: #10253d; color: #fff; }
.photo-dialog::backdrop { background: #08182ddd; }
.dialog-toolbar { display: flex; gap: 15px; align-items: center; justify-content: space-between; padding: 10px 15px 10px 23px; font-size: 12px; }
.photo-dialog .icon-button { color: white; }
.photo-dialog .icon-button:hover { background: #365271; }
.photo-dialog > img { display: block; width: 100%; max-height: calc(100vh - 190px); object-fit: contain; height: auto; }
.dialog-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 17px; }
.dialog-bottom > button:first-child svg { transform: rotate(180deg); }
.dialog-bottom p { font-size: 11px; color: #dce6f4; text-align: center; }
.case-reading { padding-top: 29px; }
.case-reading > section { display: flex; align-items: flex-start; gap: 24px; padding-block: 27px; border-bottom: 1px solid var(--line); }
.case-section-number { display: grid; place-items: center; width: 34px; height: 34px; background: #edf3fc; border-radius: 7px; font-size: 11px; color: #315c98; flex-shrink: 0; }
.case-reading h2 { font-size: 25px; line-height: 1.3; margin: 2px 0 15px; }
.case-reading p, .case-reading li { font-size: 14px; line-height: 1.85; }
.case-reading ol { padding-left: 19px; }
.case-reading li { padding-left: 7px; margin-bottom: 10px; color: var(--muted); }
.case-followup { display: flex; gap: 12px; background: #edf3fa; padding: 18px; border-radius: 7px; margin-top: 20px; }
.case-followup > svg { margin-top: 4px; }
.case-followup p { font-size: 12px; }
.case-side-facts { margin: 22px 0; }
.case-side-facts > div { padding: 13px 0; border-top: 1px solid var(--line); }
.case-side-facts dt { font-size: 10px; color: var(--muted); }
.case-side-facts dd { margin: 4px 0 0; font-size: 14px; font-weight: 550; }
.case-side-facts small { display: block; font-size: 10px; color: var(--muted); font-weight: 400; }
.case-provider-cta { display: inline-flex; align-items: center; gap: 9px; font-size: 11px; padding: 6px 0; }
.case-review { padding-top: 42px; }
.case-review h2 { font-size: 28px; margin-bottom: 25px; }
.brief-reference { padding: 22px 25px; background: #eaf1fc; border: 1px solid #c9d9ef; border-radius: 9px; margin-bottom: 30px; }
.brief-reference > strong { font-size: 15px; display: flex; align-items: center; gap: 9px; margin-bottom: 9px; }
.brief-reference p { font-size: 12px; margin-top: 6px; }
.brief-reference small { display: block; font-size: 10px; color: var(--muted); margin-top: 12px; }
.compare-dock { position: fixed; z-index: 40; bottom: 20px; left: 50%; transform: translateX(-50%); width: min(760px,calc(100% - 40px)); background: #fff; border: 1px solid #bdcfe8; border-radius: 12px; box-shadow: 0 8px 35px #112b4c3d; padding: 15px 19px; display: flex; align-items: center; gap: 18px; }
.compare-dock > div { flex: 1; min-width: 0; }
.compare-dock strong { display: block; font-size: 13px; }
.compare-dock strong > span { color: #1f59b2; margin-left: 6px; }
.compare-dock > div > span { display: block; font-size: 10px; color: #526784; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 4px; }
.compare-dock .button { font-size: 12px; min-height: 44px; padding: 12px 18px; }
.collection-toast { position: fixed; z-index: 50; right: 25px; bottom: 125px; max-width: min(390px,calc(100% - 36px)); padding: 14px 19px; border-radius: 8px; background: #15314f; color: #fff; font-size: 12px; box-shadow: 0 3px 18px #1739572d; visibility: hidden; opacity: 0; transition: opacity .18s; }
.collection-toast.is-visible { visibility: visible; opacity: 1; }
.compare-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; font-size: 12px; color: var(--muted); }
.compare-heading .reset-filter { margin: 0; }
.comparison-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
.comparison-column { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; padding: 0 22px 24px; min-width: 0; }
.comparison-photo { position: relative; margin-inline: -22px; aspect-ratio: 4/3; background: #edf2f8; }
.comparison-photo > img { width: 100%; height: 100%; object-fit: cover; }
.comparison-column h2 { font-size: 23px; margin: 22px 0 6px; min-height: 56px; }
.comparison-column h2 a { text-decoration: none; }
.comparison-column dl > div { border-top: 1px solid var(--line); padding: 16px 0; min-height: 92px; }
.comparison-column dt { font-size: 10px; color: var(--muted); margin-bottom: 9px; }
.comparison-column dd { font-size: 13px; margin: 0; }
.comparison-column dd small { display: block; font-size: 10px; margin-top: 6px; color: var(--muted); }
.comparison-column dd ul { padding-left: 18px; margin: 0; font-size: 12px; }
.comparison-column dd li { margin-bottom: 8px; }
.comparison-column .button { font-size: 12px; width: 100%; min-height: 45px; }
.saved-profiles { padding-top: 35px; }
.saved-profiles .provider-grid { margin-top: 23px; }
.fixture-explanation { padding: 27px; background: #fff7e8; border: 1px solid #ebddc2; border-radius: 10px; margin-bottom: 35px; }
.fixture-explanation h2 { font-size: 25px; margin-bottom: 14px; }
.fixture-explanation p { font-size: 14px; max-width: 870px; }
.fixture-explanation p + p { margin-top: 15px; }
.branch-provider-preview { padding-top: 15px; }
@media (max-width: 1199px) {
    .marketplace-theme .header-actions { gap: 8px; }
    .marketplace-theme .desktop-nav { gap: 16px; }
    .marketplace-theme .header-cta { font-size: 11px; padding-inline: 13px; }
    .marketplace-theme .business-link { display: none; }
    .portal-hero-copy { padding-right: 20px; }
    .portal-hero h1 { font-size: 51px; }
    .hero-human { min-height: 427px; }
    .hero-person-tag { left: 15px; right: 15px; padding: 13px; }
    .hero-person-tag strong { font-size: 11px; }
    .provider-info { padding-inline: 16px; }
    .provider-info h3 { font-size: 21px; }
    .provider-location > span { margin-left: 0; width: 100%; }
    .provider-promise { min-height: 61px; }
    .provider-bottom .button { font-size: 10px; padding-inline: 12px; }
    .review-card { padding: 19px; }
    .review-grid, .provider-grid { gap: 18px; }
    .profile-layout, .case-layout { grid-template-columns: minmax(0,1fr) 290px; gap: 30px; }
    .contact-panel { padding: 21px; }
    .profile-identity { gap: 16px; }
    .profile-monogram { width: 65px; height: 65px; }
    .profile-identity h1 { font-size: 30px; }
    .profile-cases { grid-template-columns: 1fr; }
    .circle-grid { gap: 40px; }
    .circle-copy h2 { font-size: 37px; }
    .journey-row > a { padding: 22px 17px; gap: 10px; }
    .journey-row strong { font-size: 12px; }
    .journey-row p { font-size: 10px; }
    .provider-directory { grid-template-columns: 230px minmax(0,1fr); gap: 23px; }
    .directory-results { gap: 17px; }
    .directory-results .provider-bottom { flex-wrap: wrap; }
    .directory-results .provider-bottom .button { width: 100%; }
}
@media (max-width: 1023px) {
    .portal-hero h1 { font-size: 44px; }
    .portal-hero-copy > p:not(.hero-overline) { font-size: 14px; }
    .hero-overline { font-size: 9px; }
    .hero-proof-points { gap: 12px; font-size: 10px; }
    .hero-human { min-height: 405px; }
    .hero-person-tag { display: none; }
    .hero-market-search { margin-inline: 0; }
    .market-search { grid-template-columns: 1fr 1fr auto; gap: 9px; padding: 13px; }
    .market-search > .button { font-size: 12px; padding-inline: 17px; }
    .search-field { padding-inline: 7px; }
    .search-field select { font-size: 12px; }
    .profession-shortcuts { gap: 13px; }
    .profession-shortcut { gap: 11px; }
    .profession-shortcut > img { width: 62px; height: 58px; }
    .profession-shortcut strong { font-size: 15px; }
    .profession-shortcut > span > span { font-size: 9px; }
    .profession-shortcut > svg { display: none; }
    .provider-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .provider-grid > .provider-card:last-child:nth-child(3) { grid-column: auto; }
    .review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .review-grid > .review-card:last-child:nth-child(3) { grid-column: 1/-1; }
    .review-grid > .review-card:last-child:nth-child(3) .review-top > .sample-label { width: auto; margin: 0; padding: 0; }
    .market-heading h2 { font-size: 33px; }
    .market-heading > a { font-size: 11px; }
    .case-card-body { padding: 19px; }
    .case-card h3 { font-size: 22px; }
    .case-card-byline > span { width: 100%; margin-left: 0; }
    .case-card-actions { align-items: flex-start; flex-direction: column; }
    .circle-copy h2 { font-size: 32px; }
    .circle-copy > p { font-size: 13px; }
    .review-explainer { padding: 20px; }
    .review-explainer > a { white-space: normal; max-width: 125px; }
    .provider-directory { grid-template-columns: 210px minmax(0,1fr); gap: 20px; }
    .directory-results { grid-template-columns: 1fr; }
    .directory-results .provider-bottom { flex-wrap: nowrap; }
    .directory-results .provider-bottom .button { width: auto; }
    .directory-results-heading { align-items: flex-start; }
    .directory-results-heading > span { max-width: 170px; }
    .profile-layout, .case-layout { grid-template-columns: minmax(0,1fr) 260px; gap: 25px; }
    .profile-identity h1 { font-size: 27px; }
    .profile-monogram { display: none; }
    .profile-save .button { font-size: 11px; padding-inline: 14px; }
    .profile-nav { gap: 26px; }
    .profile-nav a { font-size: 12px; }
    .contact-panel { padding: 20px 17px; }
    .contact-panel h2 { font-size: 24px; }
    .contact-panel > .button { font-size: 11px; padding-inline: 12px; }
    .review-summary { flex-direction: column; gap: 18px; }
    .review-summary > div:first-child { border-right: 0; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
    .profile-reviews .review-card { padding: 19px; }
    .comparison-grid { gap: 16px; }
    .comparison-column { padding-inline: 17px; }
    .comparison-photo { margin-inline: -17px; }
    .comparison-column h2 { font-size: 20px; }
}
@media (max-width: 767px) {
    .market-search .search-field { padding-inline: 0; }
    .directory-filter-disclosure { border: 1px solid #c8d7ec; border-radius: 9px; background: #f4f7fb; }
    .directory-filter-disclosure > summary { display: flex; align-items: center; gap: 10px; padding: 17px 20px; font-size: 13px; font-weight: 650; cursor: pointer; list-style: none; }
    .directory-filter-disclosure > summary::-webkit-details-marker { display: none; }
    .directory-filter-disclosure > summary > svg:last-child { margin-left: auto; }
    .directory-filter-disclosure[open] > summary > svg:last-child { transform: rotate(45deg); }
    .directory-filter-disclosure .directory-form { border: 0; border-top: 1px solid var(--line); border-radius: 0 0 9px 9px; }
    .directory-filter-disclosure .directory-form h2 { display: none; }
    .directory-results-heading h2 { scroll-margin-top: 20px; }
    .marketplace-theme .header-inner { height: 74px; }
    .marketplace-theme .header-compare { display: none; }
    .fixture-ribbon { font-size: 10px; }
    .fixture-ribbon .container { align-items: flex-start; gap: 8px; padding-block: 9px; }
    .fixture-ribbon svg { margin-top: 3px; }
    .fixture-ribbon a { display: none; }
    .portal-hero { padding-top: 20px; }
    .portal-hero-grid { display: flex; flex-direction: column; }
    .hero-human { order: 0; margin: 0; height: 280px; min-height: 0; border-radius: 11px; }
    .hero-human > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
    .hero-photo-caption { top: auto; bottom: 10px; right: 10px; font-size: 8px; }
    .portal-hero-copy { order: 1; padding: 26px 0 23px; }
    .portal-hero h1 { font-size: 45px; }
    .portal-hero h1 br:nth-of-type(1) { display: none; }
    .portal-hero-copy > p:not(.hero-overline) { font-size: 14px; margin-top: 17px; }
    .hero-overline { margin-bottom: 13px; }
    .hero-proof-points { margin-top: 17px; gap: 22px; }
    .hero-market-search { order: 2; margin: 0 0 -45px; }
    .market-search { grid-template-columns: 1fr 1fr; gap: 14px; padding: 19px; }
    .market-search > .button { grid-column: 1/-1; min-height: 46px; justify-content: space-between; font-size: 13px; }
    .search-field { padding: 0; }
    .search-field:nth-child(2) { border: 0; }
    .search-field label { font-size: 10px; }
    .search-field select { font-size: 11px; padding-right: 1px; }
    .search-field > div { gap: 5px; }
    .search-field svg { width: 17px; }
    .profession-shortcuts { padding-top: 69px; padding-bottom: 25px; gap: 10px; }
    .profession-shortcut { flex-direction: column; text-align: center; padding: 8px; gap: 8px; }
    .profession-shortcut > img { width: 100%; height: auto; aspect-ratio: 4/3; }
    .profession-shortcut strong { font-size: 14px; }
    .profession-shortcut > span > span { display: none; }
    .marketplace-section { padding-block: 43px; }
    .market-heading { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 24px; }
    .market-heading h2 { font-size: 32px; }
    .market-heading p:not(.eyebrow) { font-size: 13px; }
    .market-heading > a { font-size: 12px; }
    .market-tabs { gap: 7px; margin-bottom: 21px; }
    .market-tabs a, .market-tabs button { padding: 9px 13px; font-size: 11px; }
    .provider-location > span { width: auto; margin-left: auto; }
    .provider-promise { min-height: 0; }
    .provider-bottom .button { font-size: 11px; }
    .provider-evidence { gap: 12px; }
    .review-grid { grid-template-columns: 1fr; }
    .review-top > .sample-label { width: auto; margin: 0; padding: 0; }
    .review-card { padding: 23px; }
    .review-card blockquote { font-size: 14px; }
    .review-explainer { align-items: flex-start; flex-wrap: wrap; gap: 13px; }
    .review-explainer > div { min-width: 200px; }
    .review-explainer > a { max-width: none; margin-left: 37px; }
    .case-grid { gap: 20px; }
    .case-card h3 { font-size: 21px; }
    .case-card-byline { font-size: 9px; }
    .case-facts { gap: 13px; }
    .circle-grid { grid-template-columns: 1fr; gap: 0; }
    .circle-image { height: auto; min-height: 0; margin-inline: -24px; }
    .circle-image > img { aspect-ratio: 4/3; height: auto; }
    .circle-copy { padding: 35px 0 39px; }
    .circle-copy h2 { font-size: 37px; }
    .circle-copy > p { font-size: 14px; margin-top: 18px; }
    .journey-row { grid-template-columns: 1fr; }
    .journey-row > a { border-right: 0; border-bottom: 1px solid var(--line); padding: 23px; gap: 20px; }
    .journey-row > a:last-child { border-bottom: 0; }
    .journey-row strong { font-size: 14px; }
    .journey-row p { font-size: 12px; }
    .market-faq { padding-bottom: 40px; padding-top: 5px; }
    .market-faq h2 { font-size: 31px; }
    .marketplace-intro { padding-top: 31px; }
    .marketplace-intro h1 { font-size: 36px; }
    .marketplace-intro > p:not(.eyebrow) { font-size: 14px; }
    .provider-directory { grid-template-columns: 1fr; gap: 25px; padding-top: 25px; }
    .directory-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; padding: 20px; }
    .directory-form h2, .directory-form > .form-field:first-of-type, .directory-form > .filter-checkbox { grid-column: 1/-1; }
    .directory-form .form-field { margin: 0; }
    .directory-form .filter-checkbox { margin: 0; }
    .directory-form > .button { margin: 0; align-self: end; }
    .directory-form .reset-filter { grid-column: 1/-1; margin: 0; }
    .filter-advice { display: none; }
    .directory-results { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .directory-results .provider-bottom { flex-wrap: wrap; }
    .directory-results .provider-bottom .button { width: 100%; }
    .directory-results-heading h2 { font-size: 21px; }
    .reviews-filter { padding: 19px; gap: 15px; }
    .reviews-filter > div { flex: 1; min-width: 160px; }
    .reviews-filter select { width: 100%; }
    .reviews-filter > .button { width: 100%; justify-content: space-between; }
    .reviews-filter > a { margin: 0; }
    .case-filter-row { flex-direction: column; gap: 0; margin-bottom: 23px; }
    .case-filter-row .market-tabs { margin-bottom: 4px; }
    .medical-case-note { flex-wrap: wrap; align-items: flex-start; }
    .medical-case-note > div { min-width: 230px; }
    .medical-case-note > a { margin-left: 42px; }
    .profile-top .breadcrumbs, .case-intro .breadcrumbs { font-size: 10px; padding-block: 18px; }
    .profile-cover { height: 300px; }
    .profile-cover > img { width: 100%; object-position: center top; }
    .profile-cover::after { background: linear-gradient(0deg,#122b46a8,transparent 50%); }
    .profile-cover-caption { bottom: 24px; left: 21px; font-size: 16px; }
    .profile-cover-caption > span { font-size: 11px; }
    .profile-identity { gap: 18px; flex-wrap: wrap; padding-block: 24px; }
    .profile-identity > div:nth-child(2) { flex: auto; width: 100%; }
    .profile-identity h1 { font-size: 31px; }
    .profile-save { display: flex; align-items: center; gap: 18px; padding: 0; }
    .profile-save .compare-toggle { width: auto; }
    .profile-save .button { font-size: 12px; }
    .profile-nav { gap: 23px; }
    .profile-nav a { padding: 11px 0; font-size: 11px; }
    .profile-layout, .case-layout { grid-template-columns: 1fr; gap: 25px; padding-top: 27px; }
    .profile-sidebar { position: static; grid-row: 1; }
    .profile-aside-note { display: none; }
    .contact-panel { padding: 24px; }
    .contact-panel h2 { font-size: 27px; }
    .contact-panel h2 br { display: none; }
    .contact-price { padding-block: 14px; margin-block: 17px; }
    .contact-price > strong { font-size: 26px; }
    .contact-panel > .button { font-size: 13px; }
    .contact-location { display: none; }
    .contact-hint { margin-bottom: 0; }
    .profile-section { padding-bottom: 29px; margin-bottom: 29px; }
    .profile-section h2 { font-size: 27px; }
    .profile-cases { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .review-summary { flex-direction: row; gap: 23px; }
    .review-summary > div:first-child { border-bottom: 0; border-right: 1px solid var(--line); padding-bottom: 0; min-width: 150px; }
    .profile-reviews .review-card { padding: 22px; }
    .case-intro h1 { font-size: 36px; }
    .case-lead { font-size: 15px; }
    .case-provider-line { gap: 12px; }
    .case-layout > .profile-sidebar { grid-row: auto; }
    .case-layout > .profile-sidebar .profile-aside-note { display: block; }
    .case-reading > section { gap: 17px; padding-block: 24px; }
    .case-reading h2 { font-size: 24px; }
    .case-reading p, .case-reading li { font-size: 13px; }
    .comparison-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .comparison-column h2 { min-height: 50px; }
    .compare-heading { font-size: 11px; align-items: flex-start; }
    .compare-dock { padding: 12px 14px; gap: 10px; bottom: 13px; }
    .compare-dock > .icon-button { width: 33px; height: 40px; }
    .compare-dock .button { font-size: 11px; padding-inline: 13px; }
    .compare-dock strong { font-size: 12px; }
    .collection-toast { right: 18px; bottom: 105px; font-size: 11px; }
}
@media (max-width: 539px) {
    .portal-hero { padding-top: 16px; }
    .hero-human { height: 218px; }
    .portal-hero h1 { font-size: 37px; line-height: 1.07; }
    .portal-hero h1 br:nth-of-type(1) { display: block; }
    .portal-hero-copy { padding: 23px 0 22px; }
    .hero-overline { font-size: 8px; letter-spacing: .08em; margin-bottom: 13px; }
    .portal-hero-copy > p:not(.hero-overline) { font-size: 13px; line-height: 1.75; margin-top: 15px; }
    .hero-proof-points { display: none; }
    .market-search { gap: 12px; padding: 16px; }
    .search-field select { font-size: 11px; }
    .search-field > div > svg { display: none; }
    .profession-shortcuts { gap: 10px; }
    .profession-shortcut strong { font-size: 13px; }
    .marketplace-section { padding-block: 36px; }
    .market-heading h2 { font-size: 30px; }
    .market-heading .eyebrow { font-size: 9px; }
    .provider-grid, .directory-results, .case-grid, .profile-cases { grid-template-columns: 1fr; }
    .provider-grid { gap: 23px; }
    .provider-info { padding: 20px 22px 13px; }
    .provider-info h3 { font-size: 25px; }
    .provider-promise { font-size: 13px; }
    .provider-rating > a { font-size: 11px; }
    .provider-location { font-size: 10px; }
    .provider-evidence { font-size: 11px; }
    .provider-bottom .button, .directory-results .provider-bottom .button { font-size: 12px; width: auto; }
    .directory-results .provider-bottom { flex-wrap: nowrap; }
    .compare-toggle { font-size: 11px; }
    .specialty-chips > span { font-size: 11px; }
    .review-card { padding: 22px; }
    .review-top > .sample-label, .review-grid > .review-card:last-child:nth-child(3) .review-top > .sample-label { width: 100%; padding-left: 54px; margin-top: -9px; }
    .review-top strong { font-size: 14px; }
    .review-top > div > span { font-size: 10px; }
    .review-card h3 { font-size: 14px; }
    .review-meta time { font-size: 10px; }
    .verification-detail summary { font-size: 10px; }
    .review-card footer a { font-size: 11px; }
    .review-explainer { padding: 20px; }
    .review-explainer > div { min-width: 185px; }
    .review-explainer strong { font-size: 13px; }
    .review-explainer p { font-size: 12px; }
    .review-explainer > a { margin-left: 0; }
    .case-card-body { padding: 21px; }
    .case-card h3 { font-size: 25px; }
    .case-card-byline { font-size: 10px; }
    .case-card-byline > span { width: auto; margin-left: auto; }
    .case-facts { gap: 17px; font-size: 11px; }
    .case-card-actions { gap: 15px; }
    .case-card-actions .text-link { font-size: 12px; }
    .similar-link { font-size: 11px; }
    .circle-image { margin-inline: -18px; }
    .circle-copy h2 { font-size: 33px; }
    .market-faq h2 { font-size: 29px; }
    .marketplace-intro h1 { font-size: 33px; }
    .marketplace-intro > .eyebrow { font-size: 9px; }
    .marketplace-intro > p:not(.eyebrow) { font-size: 13px; }
    .directory-results-heading { flex-wrap: wrap; gap: 7px; }
    .directory-results-heading > span { max-width: none; }
    .reviews-filter > div { flex: auto; width: 100%; }
    .case-filter-row .market-tabs a { font-size: 11px; padding-inline: 11px; }
    .medical-case-note h2 { font-size: 19px; }
    .medical-case-note > a { margin-left: 0; }
    .profile-cover { height: 255px; }
    .profile-cover > img { object-fit: cover; }
    .profile-cover-caption { font-size: 14px; bottom: 31px; left: 17px; }
    .profile-cover .photo-source { bottom: 7px; right: 8px; font-size: 8px; }
    .profile-cover-caption > span { font-size: 10px; }
    .profile-identity h1 { font-size: 30px; }
    .profile-identity p { font-size: 13px; }
    .profile-rating { font-size: 11px; gap: 9px; }
    .profile-rating > span:not(.rating-stars) { border: 0; padding-left: 0; }
    .profile-nav { gap: 16px; }
    .profile-nav a { font-size: 11px; }
    .contact-panel { padding: 21px; }
    .profile-section h2 { font-size: 26px; }
    .profile-section > p { font-size: 13px; }
    .profile-scope { padding: 19px; }
    .profile-cases .case-card h3 { font-size: 23px; }
    .profile-cases .similar-link { font-size: 11px; }
    .review-summary { flex-direction: column; gap: 17px; padding: 21px; }
    .review-summary > div:first-child { border-right: 0; border-bottom: 1px solid var(--line); padding-bottom: 17px; }
    .profile-reviews .review-top > .sample-label { width: 100%; padding-left: 54px; margin-top: -9px; }
    .profile-standards li { font-size: 13px; }
    .team-person { padding: 19px 17px; gap: 12px; }
    .team-person > span { width: 43px; height: 43px; flex-shrink: 0; }
    .team-person strong { font-size: 16px; }
    .team-person p { font-size: 11px; }
    .team-person small { font-size: 9px; }
    .case-intro h1 { font-size: 33px; }
    .case-intro > .eyebrow { font-size: 9px; }
    .case-lead { font-size: 14px; }
    .case-section-number { width: 29px; height: 29px; font-size: 10px; }
    .case-reading > section { gap: 12px; }
    .case-reading h2 { font-size: 22px; }
    .case-followup { padding: 15px; gap: 9px; }
    .case-followup p { font-size: 11px; }
    .case-review h2 { font-size: 25px; }
    .gallery-main-button > span { bottom: 12px; right: 12px; font-size: 10px; padding: 8px 10px; }
    .photo-dialog { width: calc(100% - 20px); }
    .dialog-toolbar { font-size: 10px; padding-left: 15px; }
    .dialog-bottom { padding-inline: 9px; gap: 5px; }
    .dialog-bottom p { font-size: 10px; }
    .comparison-grid { grid-template-columns: 1fr; }
    .comparison-column { padding: 0 23px 23px; }
    .comparison-photo { margin-inline: -23px; }
    .comparison-column h2 { font-size: 25px; min-height: 0; }
    .comparison-column dl > div { min-height: 0; }
    .comparison-column dt { font-size: 11px; }
    .comparison-column dd { font-size: 14px; }
    .comparison-column dd small { font-size: 11px; }
    .compare-dock { width: calc(100% - 22px); gap: 8px; padding: 12px; }
    .compare-dock > div > span { max-width: 135px; }
    .compare-dock .button { min-height: 41px; font-size: 10px; padding-inline: 12px; }
    .compare-dock > .icon-button { width: 29px; }
    .fixture-explanation { padding: 21px; }
    .fixture-explanation h2 { font-size: 22px; }
    .fixture-explanation p { font-size: 13px; }
}
@media (max-width: 359px) {
    .portal-hero h1 { font-size: 33px; }
    .hero-human { height: 190px; }
    .hero-photo-caption { font-size: 7px; }
    .profession-shortcut { padding: 6px; }
    .profession-shortcut strong { font-size: 12px; }
    .market-tabs { gap: 5px; }
    .market-tabs a, .market-tabs button { padding-inline: 10px; font-size: 10px; }
    .market-heading h2 { font-size: 27px; }
    .provider-info { padding-inline: 18px; }
    .provider-info h3 { font-size: 23px; }
    .provider-location > span { width: 100%; margin-left: 0; }
    .provider-bottom .button { font-size: 11px; padding-inline: 12px; }
    .circle-image { margin-inline: -15px; }
    .review-card { padding: 19px; }
    .review-card blockquote { font-size: 13px; }
    .case-card-body { padding: 19px; }
    .case-card h3 { font-size: 23px; }
    .case-card-byline > span { width: 100%; margin-left: 0; }
    .profile-identity h1 { font-size: 27px; }
    .marketplace-intro h1, .case-intro h1 { font-size: 30px; }
    .compare-dock > div > span { max-width: 105px; }
    .compare-dock strong { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .collection-toast { transition: none; } }
@media print { .fixture-ribbon, .compare-dock, .collection-toast { display: none !important; } }

/* Provenance stays available without competing with the main choice task. */
.marketplace-theme .preview-provenance { margin: 0; padding: 18px 0; border-top: 1px solid #3a506b; font-size: 12px; line-height: 1.8; color: #c2cfe0; }
.marketplace-theme .preview-provenance a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; margin-left: 8px; text-decoration: underline; text-underline-offset: 3px; color: #edf3fc; }
.marketplace-theme .comparison-grid { grid-template-columns: repeat(var(--compare-columns, 3), minmax(0, 1fr)); }
.marketplace-theme .comparison-photo { aspect-ratio: auto; height: clamp(160px, 18vw, 220px); }
.marketplace-theme .comparison-photo img { height: 100%; object-position: center top; }
.marketplace-theme .compare-intro { padding-top: 36px; padding-bottom: 0; }
.marketplace-theme .compare-intro h1 { font-size: clamp(30px, 3.5vw, 48px); }
.case-quick-action { display: none; }
@media (max-width: 767px) {
    .case-quick-action { display: block; padding-top: 8px; }
    .case-quick-action .button { width: 100%; }
    .case-quick-action > span { display: block; margin-top: 9px; color: #53637a; font-size: 11px; line-height: 1.6; }
}
.marketplace-theme .provider-bottom > div { min-width: 0; }
.marketplace-theme .provider-bottom > div > span { max-width: 115px; line-height: 1.5; white-space: normal; }
@media (max-width: 539px) {
    .marketplace-theme .comparison-grid { grid-template-columns: minmax(0, 1fr); }
    .marketplace-theme .preview-provenance a { margin-left: 0; display: flex; width: fit-content; min-height: 44px; }
}
