/* Massage Alliance profile: self-contained component styles; host supplies Outfit. */
.ma-profile {
  --profile-ink:#18344C;
  --profile-muted:#586A77;
  --profile-coral:#F7AB8D;
  --profile-cream:#FBF7F1;
  --profile-line:#DCE4E9;
  box-sizing:border-box;
  width:100%;
  max-width:1232px;
  min-width:0;
  margin:40px auto 72px;
  padding:0 26px;
  color:var(--profile-ink);
  font:400 16px/1.65 'Outfit',sans-serif;
  text-align:left;
}

.ma-profile *, .ma-profile *::before, .ma-profile *::after {box-sizing:border-box;}
.ma-profile [hidden] {display:none!important;}
.ma-profile :is(h1,h2,h3,p,dl,dt,dd,address) {margin:0;color:inherit;font-family:inherit;text-align:left;}
.ma-profile :is(h1,h2,h3) {font-weight:500;text-transform:none;}
.ma-profile :is(h1,h2,h3,p,dd,address,a) {overflow-wrap:anywhere;}
.ma-profile a {color:#204B6B;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.ma-profile a:hover {color:#0E2B40;}
.ma-profile :is(a,button):focus-visible {outline:3px solid #346581;outline-offset:4px;}

.ma-profile .ma-profile-back {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  margin:0 0 18px;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
}
.ma-profile .ma-profile-back::before {content:'←';font-size:22px;line-height:1;}
.ma-profile .ma-profile-back:hover {text-decoration:underline;}

.ma-profile .ma-profile-hero {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:164px minmax(0,1fr);
  align-items:center;
  gap:46px;
  min-width:0;
  padding:50px 54px;
  border:1px solid #24475F;
  border-radius:28px;
  background:radial-gradient(ellipse at 105% 10%,#31546B 0,transparent 49%),var(--profile-ink);
  color:#FFF;
}
.ma-profile .ma-profile-hero::after {
  content:'';
  position:absolute;
  z-index:-1;
  inset:auto 36px 0;
  height:3px;
  background:linear-gradient(90deg,var(--profile-coral),#F7AB8D33 65%,transparent);
}

.ma-profile .ma-profile-emblem {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:start;
  width:164px;
  height:186px;
  padding:18px;
  border:1px solid #F2DCC9;
  border-radius:82px 82px 26px 26px;
  background:linear-gradient(150deg,#FFFDFC,var(--profile-cream));
  color:var(--profile-ink);
  font:400 60px/1 'Outfit',sans-serif;
  letter-spacing:-.065em;
  text-align:center;
}
.ma-profile .ma-profile-emblem::before {
  content:'';
  position:absolute;
  inset:10px;
  border:1px solid #B9876866;
  border-radius:inherit;
  pointer-events:none;
}
.ma-profile .ma-profile-emblem::after {
  content:'';
  position:absolute;
  bottom:28px;
  left:calc(50% - 17px);
  width:34px;
  height:2px;
  background:#B47958;
}
.ma-profile .ma-profile-hero-copy {min-width:0;max-width:790px;}
.ma-profile .ma-profile-kicker {
  display:block;
  margin:0 0 12px;
  color:var(--profile-coral);
  font-size:11px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.7;
  text-transform:uppercase;
}
.ma-profile .ma-profile-hero-copy h1 {
  margin:0 0 20px;
  max-width:20ch;
  color:#FFF;
  font-size:clamp(36px,4.25vw,62px);
  line-height:1.08;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.ma-profile .ma-profile-lead {
  max-width:58ch;
  margin:0 0 24px;
  color:#DCE6ED;
  font-size:18px;
  line-height:1.6;
}
.ma-profile .ma-profile-badge {
  display:inline-flex;
  align-items:flex-start;
  gap:10px;
  max-width:100%;
  padding:10px 14px;
  border:1px solid #E8CBAA;
  border-radius:10px;
  background:#FCF2E5;
  color:#69452D;
  font-size:13px;
  font-weight:500;
  line-height:1.5;
}
.ma-profile .ma-profile-badge::before {
  content:'';
  flex:0 0 8px;
  width:8px;
  height:8px;
  margin-top:6px;
  border:1.5px solid currentColor;
  border-radius:50%;
}
.ma-profile .ma-profile-badge.is-verified {border-color:#BED9CB;background:#E7F3EC;color:#20543F;}
.ma-profile .ma-profile-badge.is-verified::before {background:currentColor;}
.ma-profile .ma-profile-badge.is-unverified {border-color:#E8CBAA;background:#FCF2E5;color:#69452D;}
.ma-profile .ma-profile-hero-contact {
  display:table;
  max-width:100%;
  min-height:44px;
  margin-top:14px;
  padding:9px 0;
  color:var(--profile-coral);
  font-size:14px;
  font-weight:500;
  line-height:1.7;
}
.ma-profile .ma-profile-hero-contact:hover {color:#FFF;}
.ma-profile .ma-profile-hero-contact:focus-visible {outline-color:var(--profile-coral);}

.ma-profile .ma-profile-layout {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);
  gap:56px;
  align-items:start;
  margin-top:44px;
}
.ma-profile .ma-profile-main {min-width:0;}
.ma-profile .ma-profile-panel {min-width:0;padding:30px 0;border-bottom:1px solid var(--profile-line);}
.ma-profile .ma-profile-panel:first-child {padding-top:0;}
.ma-profile .ma-profile-panel:last-child {border-bottom:0;padding-bottom:0;}
.ma-profile .ma-profile-panel h2 {
  margin:0 0 16px;
  font-size:28px;
  line-height:1.2;
  letter-spacing:-.02em;
}
.ma-profile .ma-profile-panel h3 {margin:22px 0 10px;font-size:20px;line-height:1.35;}
.ma-profile .ma-profile-panel p {max-width:68ch;color:var(--profile-muted);}
.ma-profile .ma-profile-panel p + p {margin-top:14px;}
.ma-profile .ma-profile-panel a {font-weight:500;}
.ma-profile .ma-profile-related {
  display:flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  min-height:44px;
  margin-top:12px;
  padding:10px 16px;
  border:1px solid var(--profile-line);
  border-radius:12px;
  background:#F7FAFB;
  font-size:15px;
  line-height:1.5;
}
.ma-profile .ma-profile-related:hover {border-color:#9DB4C3;background:#EDF3F6;}

.ma-profile .ma-profile-facts {
  display:grid;
  grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr);
  column-gap:24px;
  row-gap:18px;
  align-items:baseline;
  margin-top:24px;
}
.ma-profile .ma-profile-facts dt {font-size:13px;font-weight:500;line-height:1.65;color:var(--profile-muted);}
.ma-profile .ma-profile-facts dd {min-width:0;font-size:16px;line-height:1.65;color:var(--profile-ink);}
.ma-profile .ma-profile-facts dd small {display:block;margin-top:4px;color:var(--profile-muted);font-size:13px;}

.ma-profile .ma-profile-contact {
  position:sticky;
  top:24px;
  min-width:0;
  padding:30px;
  border:1px solid #EADFD2;
  border-radius:22px;
  background:var(--profile-cream);
}
.ma-profile .ma-profile-contact h2 {margin:0 0 18px;font-size:25px;line-height:1.2;letter-spacing:-.025em;}
.ma-profile .ma-profile-contact address {margin-bottom:22px;font-style:normal;font-size:16px;line-height:1.7;}
.ma-profile .ma-profile-contact address strong {display:block;margin-bottom:3px;font-weight:500;}
.ma-profile .ma-profile-contact p {font-size:14px;color:var(--profile-muted);}
.ma-profile .ma-profile-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  max-width:100%;
  min-height:50px;
  padding:13px 21px;
  border:1px solid var(--profile-ink);
  border-radius:999px;
  background:var(--profile-ink);
  color:#FFF;
  font:500 15px/1.45 'Outfit',sans-serif;
  text-align:center;
  text-decoration:none;
  white-space:normal;
  text-wrap:balance;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.ma-profile .ma-profile-button:hover {border-color:#2D5570;background:#2D5570;color:#FFF;text-decoration:none;}
.ma-profile .ma-profile-button.is-secondary {border-color:#BDCBD4;background:transparent;color:var(--profile-ink);}
.ma-profile .ma-profile-button.is-secondary:hover {border-color:var(--profile-ink);background:#FFF;}
.ma-profile .ma-profile-contact .ma-profile-button {width:100%;margin-top:12px;}
.ma-profile .ma-profile-contact .ma-profile-meta {margin-top:24px;padding-top:18px;border-top:1px solid #E3D9CD;font-size:13px;line-height:1.65;color:var(--profile-muted);}
.ma-profile .ma-profile-meta a {font-size:inherit;}

.ma-profile .ma-profile-cta {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,290px);
  column-gap:42px;
  row-gap:14px;
  align-items:center;
  margin-top:50px;
  padding:34px 38px;
  border:1px solid #C9D7DF;
  border-radius:22px;
  background:linear-gradient(105deg,#EEF4F6,#F8F5EF);
}
.ma-profile .ma-profile-cta h2 {max-width:26ch;font-size:29px;line-height:1.18;letter-spacing:-.025em;text-wrap:balance;}
.ma-profile .ma-profile-cta p {grid-column:1;max-width:66ch;color:var(--profile-muted);font-size:15px;line-height:1.65;}
.ma-profile .ma-profile-cta > div {grid-column:1;grid-row:1/3;min-width:0;}
.ma-profile .ma-profile-cta h2 + p {margin-top:16px;}
.ma-profile .ma-profile-cta > .ma-profile-button {grid-column:2;grid-row:1;align-self:end;max-width:290px;}
.ma-profile .ma-profile-cta > .ma-profile-correction {
  grid-column:2;
  grid-row:2;
  align-self:start;
  max-width:290px;
  min-height:44px;
  padding:8px 6px;
  font-size:13px;
  line-height:1.65;
  text-align:center;
}
.ma-profile .ma-profile-cta .ma-profile-button {border-color:var(--profile-coral);background:var(--profile-coral);color:var(--profile-ink);}
.ma-profile .ma-profile-cta .ma-profile-button:hover {border-color:var(--profile-ink);background:var(--profile-ink);color:#FFF;}
.ma-profile :is(.ma-profile-panel,.ma-profile-contact,.ma-profile-cta) .ma-profile-kicker {
  margin:0 0 10px;
  color:#775342;
  font-size:11px;
  line-height:1.7;
  letter-spacing:.13em;
}
.ma-profile .ma-profile-contact {scroll-margin-top:32px;}
.ma-profile .ma-profile-languages {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid var(--profile-line);
}
.ma-profile .ma-profile-languages a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 14px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:13px;
  font-weight:500;
  line-height:1.5;
  text-decoration:none;
}
.ma-profile .ma-profile-languages a:hover {background:#F1F5F7;text-decoration:underline;}
.ma-profile .ma-profile-languages a[aria-current="page"] {border-color:#D8BCAC;background:var(--profile-cream);color:var(--profile-ink);}

@media(max-width:1024px) {
  .ma-profile .ma-profile-hero {grid-template-columns:132px minmax(0,1fr);gap:32px;padding:38px;}
  .ma-profile .ma-profile-emblem {width:132px;height:156px;font-size:48px;}
  .ma-profile .ma-profile-layout {grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:32px;}
  .ma-profile .ma-profile-contact {padding:25px;}
  .ma-profile .ma-profile-cta {column-gap:28px;padding:30px;}
}
@media(max-width:820px) {
  .ma-profile .ma-profile-layout {grid-template-columns:minmax(0,1fr);gap:34px;}
  .ma-profile .ma-profile-contact {position:static;}
  .ma-profile .ma-profile-cta {grid-template-columns:minmax(0,1fr);}
  .ma-profile .ma-profile-cta > div {grid-column:1;grid-row:auto;}
  .ma-profile .ma-profile-cta > :is(.ma-profile-button,.ma-profile-correction) {grid-column:1;grid-row:auto;justify-self:start;align-self:auto;margin-top:6px;}
}
@media(max-width:600px) {
  .ma-profile {margin:22px auto 48px;padding:0 16px;}
  .ma-profile .ma-profile-back {margin-bottom:14px;font-size:13px;}
  .ma-profile .ma-profile-hero {grid-template-columns:minmax(0,1fr);gap:26px;padding:28px 24px;border-radius:22px;}
  .ma-profile .ma-profile-hero::after {inset-inline:24px;}
  .ma-profile .ma-profile-emblem {width:98px;height:112px;padding:13px;border-radius:49px 49px 17px 17px;font-size:38px;}
  .ma-profile .ma-profile-emblem::before {inset:7px;}
  .ma-profile .ma-profile-emblem::after {bottom:19px;width:24px;left:calc(50% - 12px);}
  .ma-profile .ma-profile-hero-copy h1 {margin-bottom:16px;font-size:36px;line-height:1.08;}
  .ma-profile .ma-profile-kicker {font-size:10px;letter-spacing:.14em;}
  .ma-profile .ma-profile-lead {margin-bottom:20px;font-size:16px;}
  .ma-profile .ma-profile-badge {padding:9px 11px;font-size:12px;}
  .ma-profile .ma-profile-layout {gap:30px;margin-top:30px;}
  .ma-profile .ma-profile-panel {padding:26px 0;}
  .ma-profile .ma-profile-panel h2 {font-size:25px;}
  .ma-profile .ma-profile-facts {grid-template-columns:minmax(0,1fr);gap:5px;margin-top:22px;}
  .ma-profile .ma-profile-facts dd + dt {margin-top:14px;}
  .ma-profile .ma-profile-contact {padding:24px;border-radius:18px;}
  .ma-profile .ma-profile-cta {gap:16px;margin-top:32px;padding:26px 24px;border-radius:18px;}
  .ma-profile .ma-profile-cta h2 {font-size:26px;}
  .ma-profile .ma-profile-cta > :is(.ma-profile-button,.ma-profile-correction) {width:100%;max-width:none;}
  .ma-profile .ma-profile-languages {gap:6px;margin-top:28px;padding-top:16px;}
  .ma-profile .ma-profile-languages a {padding-inline:12px;}
}
@media(prefers-reduced-motion:reduce) {.ma-profile .ma-profile-button {transition:none;}}

.ma-profile .ma-profile-seals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;margin:24px 0 30px}.ma-profile .ma-profile-seals figure{margin:0;text-align:center;background:#fff;border:1px solid #e7e8e6;border-radius:16px;padding:16px 8px}.ma-profile .ma-profile-seals img{width:112px;height:112px;object-fit:contain;margin:auto;display:block}.ma-profile .ma-profile-seals figcaption{color:#214363;font-size:14px;font-weight:600;line-height:1.4;margin-top:10px;overflow-wrap:anywhere}

/* Optional, local-only polish. Apply after the current directory/profile CSS. */
.ma-nearby .ma-dir-seals figcaption,
.ma-profile .ma-profile-seals figcaption {font-style:normal;}
@media(max-width:600px) {
  .ma-nearby .ma-dir-seals:has(figure:nth-child(2)) {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(84px,1fr));
    gap:10px;
  }
  .ma-nearby .ma-dir-seals:has(figure:nth-child(2)) figure {
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    padding:5px;
  }
  .ma-nearby .ma-dir-seals:has(figure:nth-child(2)) figcaption {font-size:11px;text-align:center;overflow-wrap:normal;}
}
