.provider-profile-page {
  --profile-ink: #222222;
  --profile-muted: #686868;
  --profile-line: #dddddd;
  --profile-soft: #f6f6f3;
  --profile-accent: #ef5b38;
  --profile-action: #bd563c;
  --profile-green: #245f50;
  margin: 0;
  color: var(--profile-ink);
  background: #ffffff;
}

.profile-header {
  width: min(1160px, calc(100% - 64px));
  min-height: 84px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--profile-line);
}
.profile-header nav { display: flex; gap: 20px; }
.profile-header nav a { font-size: 12px; font-weight: 800; text-decoration: none; }

.profile-breadcrumb { width: min(1080px, calc(100% - 64px)); margin: 22px auto 0; display: flex; flex-wrap: wrap; gap: 7px; color: var(--profile-muted); font-size: 10px; }
.profile-breadcrumb a { color: inherit; text-decoration: none; }
.profile-breadcrumb a:hover { text-decoration: underline; }

.profile-hero {
  width: min(1080px, calc(100% - 64px));
  margin: 0 auto;
  padding: 72px 0 78px;
  display: grid;
  grid-template-columns: 1fr 330px;
  gap: 70px;
  align-items: center;
}
.profile-location { margin: 0 0 17px; color: var(--profile-action); font-size: 13px; font-weight: 800; }
.profile-hero h1 { max-width: 760px; margin: 0 0 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(52px, 7vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.profile-summary { max-width: 680px; margin: 0; color: var(--profile-muted); font-size: 18px; line-height: 1.55; }
.profile-status-line { margin-top: 30px; padding-top: 17px; display: flex; flex-wrap: wrap; gap: 9px 22px; border-top: 1px solid var(--profile-line); }
.profile-status-line span { color: var(--profile-muted); font-size: 11px; }
.profile-hero-actions { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; }
.profile-hero-actions .profile-primary-action,
.profile-hero-actions .profile-secondary-action { width: auto; min-height: 44px; margin-top: 0; padding-inline: 20px; }
.profile-hero-actions .profile-secondary-action { color: var(--profile-ink); border-color: var(--profile-line); }
.profile-visual { aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; color: #ffffff; background: var(--profile-green); border-radius: 42% 58% 47% 53% / 52% 42% 58% 48%; font-family: "Tektur", sans-serif; font-size: 74px; font-weight: 900; }
.profile-visual.has-photo { background: var(--profile-soft); }
.profile-visual img { width: 100%; height: 100%; display: block; object-fit: cover; }
.profile-hero-featured { grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); gap: 64px; }
.profile-hero-featured .profile-visual { aspect-ratio: 4 / 3; border-radius: 20px; }
.profile-hero-featured .profile-visual img { object-position: 50% 50%; }
.profile-photo-credit { width: min(1080px, calc(100% - 64px)); margin: -58px auto 58px; color: var(--profile-muted); font-size: 9px; text-align: right; }
.profile-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.profile-gallery figure { margin: 0; display: grid; align-content: start; gap: 9px; }
.profile-gallery img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover; border-radius: 14px; }
.profile-gallery figure:first-child img { object-position: 55% 50%; }
.profile-gallery figcaption { color: var(--profile-muted); font-size: 9px; }
.profile-introduction > p { max-width: 720px; font-family: Georgia, "Times New Roman", serif; font-size: 20px !important; line-height: 1.6 !important; }

.profile-body { width: min(1080px, calc(100% - 64px)); margin: 0 auto; padding: 80px 0 110px; display: grid; grid-template-columns: 1fr 340px; gap: 76px; align-items: start; border-top: 1px solid var(--profile-line); }
.profile-main { display: grid; gap: 66px; }
.profile-main h2, .profile-action-card h2, .related-providers h2 { margin: 0 0 25px; font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
.service-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.service-groups article { padding: 22px; background: var(--profile-soft); border-radius: 14px; }
.service-groups h3 { margin: 0 0 16px; font-size: 15px; }
.service-groups ul { margin: 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.service-groups li { padding-left: 18px; position: relative; color: var(--profile-muted); font-size: 13px; line-height: 1.4; }
.service-groups li::before { content: "✓"; position: absolute; left: 0; color: var(--profile-green); font-weight: 900; }
.profile-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.profile-pills span { padding: 9px 12px; color: var(--profile-muted); background: var(--profile-soft); border-radius: 999px; font-size: 12px; text-transform: capitalize; }
.profile-comparison { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--profile-line); }
.profile-comparison div { padding: 16px 0; display: grid; gap: 5px; border-bottom: 1px solid var(--profile-line); }
.profile-comparison div:nth-child(odd) { padding-right: 22px; }
.profile-comparison dt { color: var(--profile-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.profile-comparison dd { margin: 0; font-size: 13px; line-height: 1.45; }
.price-list { border-top: 1px solid var(--profile-line); }
.price-list div { padding: 14px 0; display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: start; gap: 18px; border-bottom: 1px solid var(--profile-line); font-size: 13px; }
.price-list small { color: var(--profile-muted); line-height: 1.45; }
.price-list span { font-weight: 800; white-space: nowrap; }
.profile-category-links { display: flex; flex-wrap: wrap; gap: 10px; }
.profile-category-links a { padding: 11px 14px; color: var(--profile-ink); background: var(--profile-soft); border-radius: 999px; font-size: 12px; font-weight: 800; text-decoration: none; }
.profile-main section > p { color: var(--profile-muted); font-size: 14px; line-height: 1.65; }
.profile-small { font-size: 11px !important; }
.profile-text-link { color: var(--profile-ink); font-size: 13px; font-weight: 800; text-decoration: none; }

.profile-action-card { padding: 28px; position: sticky; top: 24px; color: #ffffff; background: var(--profile-green); border-radius: 18px; }
.profile-action-card h2 { font-size: 32px; }
.profile-action-card > p { color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.5; }
.profile-primary-action, .profile-secondary-action { min-height: 50px; margin-top: 10px; padding: 12px 16px; display: flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 12px; font-weight: 800; text-align: center; text-decoration: none; }
.profile-primary-action { color: #ffffff; background: var(--profile-action); }
.profile-secondary-action { color: #ffffff; border: 1px solid rgba(255,255,255,.42); }
.profile-action-card .profile-outbound-note { margin: 15px 0 0; color: rgba(255,255,255,.56); font-size: 10px; }

.related-providers { padding: 80px max(32px, calc((100vw - 1080px) / 2)); background: var(--profile-soft); }
.related-providers > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.related-providers a { padding: 20px; display: grid; gap: 8px; color: var(--profile-ink); background: #ffffff; border: 1px solid var(--profile-line); border-radius: 14px; text-decoration: none; }
.related-providers strong { font-size: 14px; }
.related-providers span { color: var(--profile-muted); font-size: 11px; }

.profile-footer { padding: 36px max(32px, calc((100vw - 1080px) / 2)); display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; color: #ffffff; background: var(--profile-ink); }
.profile-footer a { color: #ffffff; font-size: 12px; }
.profile-footer p { margin: 0; color: #aaaaaa; text-align: center; font-size: 11px; }
.profile-footer a:last-child { justify-self: end; }

@media (max-width: 820px) {
  .profile-header, .profile-breadcrumb, .profile-hero, .profile-body { width: calc(100% - 36px); }
  .profile-header nav a:first-child { display: none; }
  .profile-hero { padding: 52px 0 64px; grid-template-columns: 1fr; gap: 40px; }
  .profile-hero-featured { grid-template-columns: 1fr; }
  .profile-hero-featured .profile-visual { width: 100%; aspect-ratio: 3 / 2; }
  .profile-visual { width: min(300px, 78vw); }
  .profile-photo-credit { width: calc(100% - 36px); margin-top: -44px; margin-bottom: 48px; }
  .profile-gallery { grid-template-columns: 1fr; }
  .profile-body { padding: 64px 0 80px; grid-template-columns: 1fr; gap: 52px; }
  .profile-action-card { position: static; }
  .price-list div { grid-template-columns: 1fr auto; }
  .price-list small { grid-column: 1 / -1; }
  .related-providers > div { grid-template-columns: 1fr; }
  .profile-footer { grid-template-columns: 1fr; text-align: center; }
  .profile-footer a:last-child { justify-self: center; }
}

@media (max-width: 540px) {
  .profile-hero h1 { font-size: clamp(46px, 15vw, 64px); }
  .service-groups { grid-template-columns: 1fr; }
  .profile-status-line { display: grid; }
  .profile-comparison { grid-template-columns: 1fr; }
  .profile-comparison div:nth-child(odd) { padding-right: 0; }
}

.profile-service-details dl { display: grid; gap: 20px; }
.profile-service-details dt { margin-bottom: 5px; }
.profile-service-details dd { margin: 0; line-height: 1.6; }
.profile-service-details dd a { display: inline-block; font-size: .85em; }
