.expertise-section { background: #eaf0ee; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 46px; }
.section-heading .eyebrow { margin-bottom: 24px; }
.section-heading > p { color: var(--muted); font-size: 16px; margin-bottom: 5px; max-width: 250px; }
.service { border-top: 1px solid #bbccc9; }
.service:last-child { border-bottom: 1px solid #bbccc9; }
.service summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 88px 1fr 35px; align-items: center; padding: 29px 5px; gap: 14px; }
.service summary::-webkit-details-marker { display: none; }
.service-number { font-family: var(--serif); font-size: 27px; color: #4f7076; }
.service-heading { display: flex; flex-direction: column; gap: 8px; }
.service-kicker { font-size: 13px; text-transform: uppercase; letter-spacing: .12em; color: #4b6b71; }
.service-title { font-family: var(--serif); font-size: clamp(28px, 3vw, 42px); line-height: 1.1; }
.expand-icon { width: 28px; height: 28px; position: relative; }
.expand-icon::before, .expand-icon::after { content: ''; background: var(--turquoise-ink); position: absolute; left: 2px; top: 13px; width: 24px; height: 2px; }
.expand-icon::after { transform: rotate(90deg); transition: transform .2s; }
.service[open] .expand-icon::after { transform: rotate(0); }
.service summary:hover .service-title { color: var(--turquoise-ink); }
.service-body { padding: 0 54px 34px 107px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 70px; color: var(--muted); font-size: 18px; }
.service-body ul { list-style: none; padding: 0; margin: 0; font-size: 16px; }
.service-body li { position: relative; padding-left: 19px; margin-bottom: 8px; }
.service-body li::before { content: ''; position: absolute; width: 5px; height: 5px; border: 1px solid var(--turquoise-ink); top: 11px; left: 0; }
/* Names and verified roles carry the team section; no portraits or invented biographies. */
.team-section { background: var(--navy-soft); color: white; }
.team-section h2 em { color: var(--aqua); }
.team-section .section-heading > p { max-width: 300px; color: #c0cdd2; }
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(40px, 8vw, 120px); margin-top: 42px; }
.team-colleagues { display: contents; }
.team-member { padding-block: 27px 32px; border-top: 1px solid #ffffff40; }
.team-member h3 { font-family: var(--serif); font-size: clamp(31px, 3.2vw, 42px); font-weight: 400; line-height: 1.15; }
.team-role { color: #a7d5d6; font-size: 15px; line-height: 1.5; margin-top: 10px; }
.team-known-as { color: #b6c8d0; font-size: .75em; white-space: nowrap; }
@media (max-width: 600px) {
  .team-grid { grid-template-columns: 1fr; margin-top: 30px; }
  .team-section .section-heading > p { max-width: 100%; }
  .team-member { padding-block: 22px 26px; }
  .team-member h3 { font-size: 31px; }
}
.contact-section { background: var(--navy); color: white; }
.contact-inner { display: grid; grid-template-columns: 1.5fr 1fr; gap: 90px; align-items: center; padding-block: 92px; }
.contact-inner h2 { font-size: clamp(46px, 4.8vw, 68px); margin-top: 25px; }
.contact-inner h2 em { color: var(--aqua); }
.button-turquoise { margin-top: 35px; background: #83d2d4; color: var(--navy); }
.button-turquoise:hover { background: white; }
.contact-inner address { font-style: normal; font-size: 17px; padding: 15px 0 15px 58px; border-left: 1px solid #ffffff30; color: #b6c8d0; }
.contact-inner address p { margin-block: 23px; }
.contact-place { color: white; font-family: var(--serif); font-size: 28px; }
.contact-inner address a { display: block; width: fit-content; min-height: 44px; padding-block: 8px; line-height: 1.65; }
.contact-inner address a:hover { color: var(--aqua); text-decoration: underline; text-underline-offset: 5px; }
