@import url("/assets/css/style-core.css?v=4");

/* Team: equal visual weight for every person */
.team-section .section-heading { max-width: 720px; }
.team-portraits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: clamp(16px, 2.2vw, 28px); }
.team-person { min-width: 0; margin: 0; }
.team-person-photo { position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--radius-sm); background: var(--surface-blue); }
.team-person-photo::after { position: absolute; right: 0; bottom: 0; width: 42px; height: 3px; background: var(--pink); content: ""; }
.team-person img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .45s var(--ease); }
.team-person:hover img { transform: scale(1.018); }
.team-person figcaption { padding: 18px 2px 0; }
.team-person h3 { margin-bottom: 4px; font-size: clamp(1.18rem, 1.7vw, 1.5rem); }
.team-person p { margin: 0; color: var(--blue); font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.team-person-placeholder .team-person-photo { border: 1px solid #c7dce5; }
.team-person-placeholder img { filter: saturate(.75); }

.cabinet-wide-photo { position: relative; }
.cabinet-wide-photo::before { position: absolute; z-index: -1; top: -34px; right: 7%; width: 250px; height: 250px; border: 1px solid rgba(114, 184, 209, .45); border-radius: 50%; content: ""; }
.cabinet-wide-photo img { width: 100%; max-height: 580px; object-fit: cover; border-radius: 6px 110px 6px 6px; }
main > .section.navy:not(.appointment-band) { background: var(--surface-blue); color: var(--body); }
main > .section.navy:not(.appointment-band) h2, main > .section.navy:not(.appointment-band) h3, main > .section.navy:not(.appointment-band) strong { color: var(--navy); }
main > .section.navy:not(.appointment-band) .btn-light { border-color: var(--navy); background: var(--navy); color: var(--white); }

/* Legal pages */
.legal-prose { max-width: 860px; }
.legal-prose h2 { margin-top: 2em; padding-top: .25em; font-size: clamp(1.55rem, 2.6vw, 2.12rem); }
.legal-prose h3 { margin-top: 1.5em; font-size: 1.12rem; }
.policy-meta { padding-bottom: 22px; border-bottom: 1px solid var(--line); color: var(--muted); }
.table-wrap { margin: 26px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.table-wrap table { width: 100%; min-width: 650px; border-collapse: collapse; }
.table-wrap th, .table-wrap td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.table-wrap tr:last-child td { border-bottom: 0; }
.table-wrap th { color: var(--navy); background: var(--surface-blue); }

/* Consent panel */
.cookie-panel { position: fixed; z-index: 1000; inset: 50% auto auto 50%; width: min(680px, calc(100% - 32px)); padding: clamp(24px, 4vw, 38px); transform: translate(-50%, -50%); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 26px 90px rgba(11, 29, 48, .24); color: var(--ink); }
.cookie-panel--banner { inset: auto 20px 20px auto; width: min(760px, calc(100% - 40px)); transform: none; }
.cookie-panel h2 { margin-bottom: 10px; font-size: clamp(1.45rem, 2.6vw, 1.9rem); }
.cookie-panel p { margin-bottom: 0; }
.cookie-panel__inner { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 28px; }
.cookie-panel__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.cookie-panel .btn { min-height: 46px; }
.cookie-panel .btn-outline { border-color: var(--navy); color: var(--navy); }

@media (max-width: 1000px) and (min-width: 641px) {
  .team-portraits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .team-portraits { grid-template-columns: 1fr; gap: 40px; }
  .team-person-photo { aspect-ratio: 4 / 5; }
  .cabinet-wide-photo img { border-radius: 4px 66px 4px 4px; }
  .cookie-panel--banner { inset: auto 10px 10px; width: auto; }
  .cookie-panel__inner { grid-template-columns: 1fr; gap: 20px; }
  .cookie-panel__actions { justify-content: stretch; }
  .cookie-panel__actions .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .team-person img { transform: none !important; }
}