/* Our magicians: shared Bower colours, type and navigation, with the complete group photo. */
.team-page { color: var(--green); }
.team-hero { text-align: center; padding-block: clamp(48px, 7vw, 100px) clamp(34px, 5vw, 64px); }
.team-kicker { color: var(--brown); font-size: 14px; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 18px; }
.team-hero h1 { font-size: clamp(40px, 6.5vw, 88px); line-height: 1.07; margin: 0 0 24px; }
.team-hero h1 span { color: var(--brown); }
.team-lead { font-size: clamp(18px, 2vw, 23px); line-height: 1.6; margin: 0 auto 28px; max-width: 740px; }
.team-photo { margin-block: 0 clamp(44px, 6vw, 88px); }
.team-photo img { display: block; width: 100%; height: auto; border-radius: 14px; }
.team-photo figcaption { margin-top: 12px; font-size: 15px; color: var(--brown); }
.team-page h2 { font-size: clamp(30px, 4vw, 52px); line-height: 1.15; margin: 0 0 26px; }
.team-options { background: var(--cream); padding-block: clamp(44px, 6vw, 80px); }
.team-options-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 64px); margin-top: 40px; }
.team-options article { display: flex; flex-direction: column; align-items: flex-start; border-top: 1px solid var(--gold); padding-top: 26px; }
.team-label { display: inline-block; background: var(--green); color: #fff; padding: 8px 20px; font-size: 13px; clip-path: polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%); }
.team-options h3 { font-size: clamp(25px, 2.6vw, 34px); line-height: 1.2; margin: 24px 0 18px; }
.team-page p:not(.team-kicker):not(.team-lead):not(.form-alt) { font-size: 18px; line-height: 1.7; margin-bottom: 18px; }
.team-options article > a { margin-top: auto; padding-top: 12px; text-decoration: underline; text-underline-offset: 5px; font-weight: 600; }
.team-options article > a span { display: inline-block; margin-left: 6px; }
.team-planning { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 64px); padding-block: clamp(52px, 7vw, 96px); }
.team-planning-copy p:first-child { margin-top: 0; }
.team-enquiry-band { background: #f5f2eb; padding-block: clamp(44px, 6vw, 80px); }
.team-enquiry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.team-faq details { border-bottom: 1px solid rgba(16,51,27,.22); }
.team-faq summary { cursor: pointer; padding: 20px 0; font-weight: 600; font-size: 18px; line-height: 1.4; }
.team-faq details p { margin-top: 0; }
.team-page #enquire { scroll-margin-top: 110px; }
.team-page .pg-form h2 { font-size: clamp(30px, 3.5vw, 44px); }
.team-page a:focus-visible, .team-page summary:focus-visible { outline: 2px solid var(--brown); outline-offset: 5px; }
@media (max-width: 760px) {
  .team-options-grid, .team-planning, .team-enquiry-grid { grid-template-columns: 1fr; }
  .team-options-grid { gap: 40px; }
  .team-hero h1 { font-size: clamp(34px, 8.4vw, 58px); }
  .team-lead br { display: none; }
  .team-photo img { border-radius: 8px; }
  .team-planning { gap: 8px; }
}
