/* EmCORR V11: section contrast and a shared portrait treatment. */
.plans-section.plans-atmosphere-v11 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 82% 12%, #fbf5e9 0%, transparent 58%), linear-gradient(115deg, #e9d9ca, #f1e8db 62%, #eadfcd);
  border-block: 1px solid #b7a48c3b;
  padding-block: 70px;
}
.plans-atmosphere-v11[data-spotlight]::before {
  z-index: -1;
  background: radial-gradient(410px circle at var(--spot-x) var(--spot-y), #fffaf4bb, transparent 75%);
  transition: opacity .25s ease;
}
.plans-atmosphere-v11 .eyebrow { color: #715d48; }
.plans-atmosphere-v11 .plan-logo { background: #ffffff91; border-color: #b4a08a66; box-shadow: 0 4px 20px #61432305; }
.plans-atmosphere-v11 .plan-logo:hover { background: #fffdf8; border-color: #8d755c; }
.plans-atmosphere-v11 .plan-logo img { mix-blend-mode: normal; }
.plans-atmosphere-v11 .plan-note { color: #645846; }
.location-home.location-atmosphere-v11 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 95% 8%, var(--dark-hover) 0%, transparent 62%), linear-gradient(120deg, var(--dark), var(--dark) 72%, var(--dark-hover));
  color: var(--on-dark);
  padding-block: 88px;
}
.location-atmosphere-v11 .eyebrow { color: var(--on-dark-muted); }
.location-atmosphere-v11 h2 { color: var(--on-dark); }
.location-atmosphere-v11 address { color: var(--on-dark-muted); }
.location-atmosphere-v11 .button.dark { background: var(--surface-rose); color: var(--ink); }
.location-atmosphere-v11 .button.dark:hover { background: var(--surface-soft); }
.location-atmosphere-v11 .location-contact { color: var(--on-dark); }
.location-atmosphere-v11 .location-contact svg { color: var(--on-dark-muted); }
.location-atmosphere-v11 .map-card { border-color: color-mix(in srgb, var(--line) 14.9%, transparent); box-shadow: 0 18px 55px color-mix(in srgb, var(--ink) 16.86%, transparent); }
.location-atmosphere-v11 .map-overlay { background: var(--dark); }
.portrait-frame-v11 { position: relative; overflow: hidden; background: #e5e6e7; }
.portrait-frame-v11 > img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center top; }
.team-photo.portrait-frame-v11 { aspect-ratio: 4 / 5; }
.portrait-mark-v11 {
  position: absolute;
  left: 16px;
  bottom: 16px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  border: 1px solid #ffffffc9;
  box-shadow: 0 3px 12px color-mix(in srgb, var(--ink) 7.06%, transparent);
  color: var(--accent);
  pointer-events: none;
}
.portrait-mark-v11 svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.portrait-mark-v11[data-area="heart"] { color: #ad3037; }
.portrait-frame-v11.intro-portrait { max-width: 390px; width: 100%; height: auto; aspect-ratio: 4 / 5; }
.profile-photo.portrait-frame-v11 { aspect-ratio: 4 / 5; }
.portrait-frame-v11 > img.professional-photo { object-position: center; }
.profile-copy .profile-role:has(+ .profile-record) { margin-bottom: 8px; }
.profile-record { margin: 0 0 28px; font-size: 16px; color: var(--muted); }
.profile-copy > h1 + .profile-area { margin-top: 28px; }
.profile-topics { padding-left: 20px; margin: 16px 0 0; font-size: 17px; line-height: 1.7; }
.profile-topics li::marker { color: var(--accent); }
.profile-copy > .profile-specialty { display: flex; width: fit-content; margin-bottom: 18px; }
.portrait-frame-v11 .portrait-initials { background: radial-gradient(ellipse at 42% 32%, var(--surface-soft), var(--surface-rose)); aspect-ratio: 4 / 5; min-height: 0; }
.portrait-frame-v11 .portrait-initials span { color: var(--accent); border-color: color-mix(in srgb, var(--line-strong) 23.14%, transparent); background: color-mix(in srgb, var(--surface) 18%, transparent); }
.person > .portrait-frame-v11 { flex: 0 0 190px; width: 190px; height: auto; aspect-ratio: 4 / 5; border-radius: 20px; }
.person .portrait-mark-v11 { width: 36px; height: 36px; left: 10px; bottom: 10px; }
.person .portrait-mark-v11 svg { width: 20px; height: 20px; }
@media (max-width: 1050px) {
  .person > .portrait-frame-v11 { flex-basis: 140px; width: 140px; }
}
@media (max-width: 760px) {
  .plans-section.plans-atmosphere-v11 { padding-block: 42px; }
  .location-home.location-atmosphere-v11 { padding-block: 52px; }
  .portrait-mark-v11 { left: 12px; bottom: 12px; width: 42px; height: 42px; }
  .portrait-mark-v11 svg { width: 23px; height: 23px; }
  .person > .portrait-frame-v11 { flex-basis: 132px; width: 132px; border-radius: 17px; }
}
@media (max-width: 460px) {
  .team-card { grid-template-columns: 122px minmax(0, 1fr); }
  .team-photo.portrait-frame-v11 { align-self: start; height: auto; min-height: 0; }
  .team-photo.portrait-frame-v11 > img { object-position: center top; }
  .team-photo .portrait-mark-v11 { width: 33px; height: 33px; left: 8px; bottom: 8px; }
  .team-photo .portrait-mark-v11 svg { width: 20px; height: 20px; }
  .team-photo .portrait-initials { height: 100%; font-size: 42px; }
  .team-photo .portrait-initials span { width: 82px; height: 82px; }
}
@media (max-width: 380px) {
  .team-card { grid-template-columns: 105px minmax(0, 1fr); }
  .team-card-copy { padding-inline: 12px; }
  .person > .portrait-frame-v11 { flex-basis: 103px; width: 103px; }
}
@media (prefers-reduced-motion: reduce), (hover: none) {
  .plans-atmosphere-v11[data-spotlight]::before { display: none; }
}
