/* Carlo's new source assets supersede older CSS image replacements. */
#top .hero-photo > img {
  content: normal !important;
  object-fit: contain !important;
  object-position: center top !important;
  transform: none !important;
}
#top > .hero-photo { aspect-ratio: var(--review-photo-ratio) !important; }
/* The supplied veiled bitmap already provides the softening. */
#top .hero-photo::after { display: block !important; background: none !important; pointer-events: none; }
#top .hero-photo[data-photo-variant="bright"]::after {
  background: radial-gradient(ellipse 28% 24% at 51% 48%, rgba(255,255,255,.14) 0%, rgba(255,255,255,.06) 52%, transparent 100%) !important;
}
@media (max-width:700px) {
  #top > .hero-photo { height: auto !important; }
}
@media (min-width:701px) and (max-width:1100px) {
  #top > .hero-photo { height: auto !important; }
}
.team-page .team-card.team-profile .team-profile-bio {
  display: block; overflow: visible; -webkit-line-clamp: unset;
  font-size: 16px !important; line-height: 1.7 !important;
}
body.cv-dialog-open { overflow: hidden; }
.team-cv-dialog {
  --cv-gap: clamp(8px, 2vw, 24px);
  box-sizing: border-box;
  width: min(720px, calc(100% - var(--cv-gap) * 2));
  max-width: none;
  max-height: calc(100vh - var(--cv-gap) * 2);
  max-height: calc(100dvh - var(--cv-gap) * 2 - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin: auto;
  padding: 0;
  overflow: hidden;
}
.team-cv-dialog[open] { display: flex; flex-direction: column; }
.team-cv-dialog .team-cv-head {
  position: static;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  background: #fff;
  padding: 14px clamp(16px, 4vw, 28px);
  border-bottom: 1px solid #d5dfeb;
}
.team-cv-head button { flex: 0 0 44px; }
.team-cv-dialog .team-cv-head .eyebrow { font-size: 11px; line-height: 1.5; }
.team-cv-content {
  min-height: 0;
  min-width: 0;
  padding: 22px clamp(16px, 4vw, 28px) 28px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  overflow-wrap: anywhere;
}
.team-cv-dialog .team-cv-content h2 {
  margin: 0 0 12px;
  font-size: clamp(25px, 4vw, 38px);
  line-height: 1.15;
}
.team-cv-dialog .team-cv-role { margin-bottom: 20px; font-size: 15px; line-height: 1.5; }
.team-cv-content:focus-visible { outline: 2px solid #1766ff; outline-offset: -4px; }
/* Complete desktop CV: two readable columns rather than an internal scroll pane. */
@media (min-width:1101px) {
  .team-cv-dialog { width: min(1060px, calc(100% - var(--cv-gap) * 2)); }
  .team-cv-dialog .team-cv-head { padding-block: 10px; }
  .team-cv-content { padding-block: 18px 22px; scrollbar-gutter: auto; }
  .team-cv-dialog .team-cv-content h2 { font-size: 32px; margin-bottom: 8px; }
  .team-cv-dialog .team-cv-role { margin-bottom: 14px; }
  .team-cv-body { padding-top: 14px; }
  .curriculum-columns { display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px; }
  .curriculum-column { min-width: 0; }
  .team-cv-body .curriculum-section h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.3; }
  .team-cv-body .curriculum-section + .curriculum-section { margin-top: 18px; }
  .team-cv-body .curriculum-section p,
  .team-cv-body .curriculum-section li { font-size: 16px; line-height: 1.5; }
  .team-cv-body .curriculum-section ul { margin-top: 0; }
  .team-cv-body .curriculum-section li { margin-block: 4px; }
}
@media (min-width:1101px) and (max-height:700px) {
  .team-cv-dialog .team-cv-head { padding-block: 8px; }
  .team-cv-content { padding-block: 12px 16px; }
  .team-cv-dialog .team-cv-content h2 { font-size: 28px; margin-bottom: 6px; }
  .team-cv-dialog .team-cv-role { margin-bottom: 10px; }
  .team-cv-body .curriculum-section + .curriculum-section { margin-top: 14px; }
  .team-cv-body .curriculum-section p,
  .team-cv-body .curriculum-section li { line-height: 1.45; }
}
.team-cv-body .curriculum-section p + p { margin-top: 12px; }
.team-cv-body ul { list-style: disc; padding-left: 22px; margin: 12px 0 0; }
.team-cv-body li { color: #46546d; font-size: 16px; line-height: 1.65; margin: 6px 0; }
.team-cv-body p { font-size: 16px; }
.team-cv-button:focus-visible, .team-cv-head button:focus-visible,
.team-filters button:focus-visible, .local-review-bar a:focus-visible {
  outline: 3px solid #1766ff; outline-offset: 4px;
}
.local-review-bar { text-align: left; padding: 10px 24px; }
.local-review-bar nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.local-review-bar a { display: inline-flex; align-items: center; min-height: 44px; margin: 0; }
@media (max-width:700px) {
  .team-cv-dialog { padding: 0; }
  .local-review-bar { padding-inline: 16px; }
}

/* Consolidated desktop hero: subtly straighter left silhouette, shifted 12px. */
@media (min-width:1101px) {
 #top h1, #top p.font-body, #top .hero-locations,
 #top > .relative > .flex { max-width:460px !important; }
 #top p.font-body { max-width:440px !important; }
 #top .hero-locations { position:relative; isolation:isolate; }
 #top .hero-locations::before { content:""; position:absolute; inset:-8px -26px -8px -4px; z-index:-1; background:linear-gradient(90deg,#0b2c60 0%,rgba(11,44,96,.96) 82%,transparent 100%); filter:blur(12px); pointer-events:none; }
 #top .hero-shade { background:linear-gradient(90deg,#0b2c60 0%,#0b2c60 28%,rgba(11,44,96,.9) 32%,rgba(11,44,96,.45) 36%,rgba(11,44,96,.08) 41%,transparent 45%,transparent 100%) !important; }
 #top > .hero-photo {
  inset:50% 12px auto auto !important;
  width:min(63vw,1140px,calc((100svh - var(--hero-top,71px)) * 1.35)) !important;
  height:auto !important; padding:0 !important; transform:translateY(-50%) !important;
  --corner-x:clamp(170px,17vw,250px); --corner-y:clamp(145px,14vw,215px);
  --desktop-hero-mask:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.65) 3%,#000 7%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 3%,#000 6%,#000 91%,transparent 100%),radial-gradient(ellipse var(--corner-x) var(--corner-y) at 0% 0%,transparent 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.6) 72%,#000 100%),radial-gradient(ellipse var(--corner-x) var(--corner-y) at 100% 0%,transparent 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.6) 72%,#000 100%),radial-gradient(ellipse var(--corner-x) var(--corner-y) at 0% 100%,transparent 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.6) 72%,#000 100%),radial-gradient(ellipse var(--corner-x) var(--corner-y) at 100% 100%,transparent 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.6) 72%,#000 100%);
  border-radius:0 !important; overflow:visible !important;
  filter:drop-shadow(0 18px 26px rgba(2,12,34,.30)) drop-shadow(0 5px 10px rgba(2,12,34,.16)) !important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22f%22%20x%3D%22-20%25%22%20y%3D%22-20%25%22%20width%3D%22140%25%22%20height%3D%22140%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2218%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22white%22%20filter%3D%22url%28%23f%29%22%20d%3D%22M190%2020%20H1100%20V980%20H190%20C100%20980%2030%20810%2030%20580%20V420%20C30%20190%20100%2020%20190%2020Z%22%2F%3E%3C%2Fsvg%3E"),linear-gradient(180deg,#000 0%,#000 84%,rgba(0,0,0,.8) 89%,rgba(0,0,0,.3) 95%,transparent 100%) !important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22f%22%20x%3D%22-20%25%22%20y%3D%22-20%25%22%20width%3D%22140%25%22%20height%3D%22140%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2218%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22white%22%20filter%3D%22url%28%23f%29%22%20d%3D%22M190%2020%20H1100%20V980%20H190%20C100%20980%2030%20810%2030%20580%20V420%20C30%20190%20100%2020%20190%2020Z%22%2F%3E%3C%2Fsvg%3E"),linear-gradient(180deg,#000 0%,#000 84%,rgba(0,0,0,.8) 89%,rgba(0,0,0,.3) 95%,transparent 100%) !important;
  -webkit-mask-position:12px 0,0 0 !important; mask-position:12px 0,0 0 !important;
  -webkit-mask-size:calc(100% - 12px) 100%,100% 100% !important; mask-size:calc(100% - 12px) 100%,100% 100% !important;
  -webkit-mask-repeat:no-repeat !important; mask-repeat:no-repeat !important;
  -webkit-mask-composite:source-in !important; mask-composite:intersect !important;
 }
 #top .hero-photo > img { -webkit-mask-image:var(--desktop-hero-mask) !important; mask-image:var(--desktop-hero-mask) !important; -webkit-mask-composite:source-in !important; mask-composite:intersect !important; }
 #top > .hero-photo::after { content:""; position:absolute; inset:0 !important; border-radius:inherit !important; -webkit-mask-image:none !important; mask-image:none !important; box-shadow:inset 38px 0 38px -12px rgba(11,44,96,.82) !important; background:none !important; pointer-events:none; }
}
