/* team */
.team{padding:120px 0;border-bottom:1px solid var(--bk-color-surface, var(--rule))}
.team-head{max-width:780px;margin-bottom:60px}
.team-lead{margin-top:20px;font-size:var(--bk-p-size, 17px);color:var(--bk-p-color, var(--bk-color-ink, var(--ink-2)));line-height:var(--bk-p-line-height, 1.6);max-width:64ch}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}
.gc-card{background:var(--bk-color-background, var(--white));border:1px solid var(--bk-color-surface, var(--rule));border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:transform .25s, box-shadow .25s}
.gc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.gc-portrait{aspect-ratio:4/3;background:linear-gradient(135deg,var(--bk-color-surface, #e9e7f6),var(--bk-color-surface, #d9d6ee));background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--bk-color-primary, #1e193a) 5%, transparent) 0 10px, transparent 10px 20px);display:grid;place-items:center}
.gc-portrait .mono{font-size:var(--bk-overline-size, 10px);letter-spacing:var(--bk-overline-letter-spacing, .14em);text-transform:var(--bk-overline-transform, uppercase);color:var(--bk-overline-color, var(--bk-color-ink, var(--bow)));opacity:.75}
.gc-portrait img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.gc-body{padding:26px 24px 24px;display:flex;flex-direction:column;flex:1}
.gc-name-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gc-name{font-size:var(--bk-h3-size, 21px);font-weight:var(--bk-h3-weight, 600);color:var(--bk-h3-color, var(--bk-color-ink, var(--royal)));letter-spacing:var(--bk-h3-letter-spacing, -0.01em)}
.gc-rate{font-size:var(--bk-p-size, 16px);color:var(--bk-color-secondary, var(--champion-ink));font-weight:var(--bk-p-weight, 600);white-space:nowrap}
.gc-rate span{font-size:var(--bk-p-size, 11px);color:var(--bk-color-secondary, var(--mute));font-weight:var(--bk-p-weight, 500)}
.gc-tagline{margin-top:12px;font-size:var(--bk-p-size, 14.5px);color:var(--bk-p-color, var(--bk-color-ink, var(--ink-2)));line-height:var(--bk-p-line-height, 1.5);font-weight:var(--bk-p-weight, 500)}
.gc-meta{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--bk-color-surface, var(--rule))}
.gc-meta li{display:flex;gap:12px;font-size:var(--bk-p-size, 13.5px);color:var(--bk-p-color, var(--bk-color-ink, var(--royal)));align-items:baseline}
.gc-k{min-width:78px;color:var(--bk-color-secondary, var(--mute));font-size:var(--bk-overline-size, 10.5px);letter-spacing:var(--bk-overline-letter-spacing, .12em);text-transform:var(--bk-overline-transform, uppercase)}
.gc-bio{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:18px}
.gc-bio li{position:relative;padding-left:18px;font-size:var(--bk-p-size, 13.5px);color:var(--bk-p-color, var(--bk-color-ink, var(--ink-2)));line-height:var(--bk-p-line-height, 1.5)}
.gc-bio li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--bk-color-secondary, var(--champion))}
.gc-book{align-self:flex-start;margin-top:24px}

/* team scroller: 3-up card track; arrows centred on the track edges, shown only when cards overflow */
.team .gc-carousel{position:relative}
.team .team-arrow{-webkit-appearance:none;appearance:none;display:none;position:absolute;top:50%;z-index:3;transform:translate(-50%,-50%);align-items:center;justify-content:center;width:52px;height:52px;min-width:0;margin:0;padding:var(--bk-btn-secondary-pad, 0);border:1px solid var(--bk-btn-secondary-border-color, var(--bk-color-surface, var(--rule)));border-radius:var(--bk-btn-secondary-radius, 50%);background:var(--bk-btn-secondary-fill, var(--bk-color-background, var(--white)));box-shadow:var(--bk-btn-secondary-shadow, var(--shadow-2));font-size:0;line-height:0;cursor:pointer;transition:background-color .2s,border-color .2s,opacity .2s}
.team .team-arrow--prev{left:0}
.team .team-arrow--next{left:100%}
.team .gc-carousel.can-scroll .team-arrow{display:inline-flex}
.team .team-arrow::after{content:"";width:20px;height:20px;background-color:var(--bk-btn-secondary-fill, var(--bk-color-primary, var(--royal)));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;transition:background-color .2s}
.team .team-arrow--prev::after{transform:scaleX(-1)}
.team .team-arrow:hover:not(:disabled){background:var(--bk-color-primary, var(--royal));border-color:var(--bk-color-primary, var(--royal))}
.team .team-arrow:hover:not(:disabled)::after{background-color:var(--bk-color-background, var(--white))}
.team .team-arrow:focus-visible{outline:2px solid var(--bk-color-secondary, var(--champion-ink));outline-offset:3px}
/* theme style.css greys every disabled button with !important (body button[disabled]) */
.team .team-arrow:disabled{cursor:default;background:var(--bk-btn-secondary-fill, var(--bk-color-background, var(--white))) !important;border:1px solid var(--bk-btn-secondary-border-color, var(--bk-color-surface, var(--rule))) !important}
.team .team-arrow:disabled::after{opacity:.3}
.team .gc-track{display:flex;gap:28px;align-items:stretch;position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;padding:12px 14px 48px;margin:-12px -14px -48px;scroll-padding-inline:14px}
.team .gc-track::-webkit-scrollbar{display:none}
.team .gc-track>.gc-card{flex:0 0 calc((100% - 56px) / 3);min-width:0;scroll-snap-align:start}
@media (max-width:1280px){
/* no gutter beside the track here: reserve side space for the arrows so they never cover a card */
.team .gc-carousel.can-scroll{padding:0 56px}
.team .team-arrow{width:44px;height:44px;transform:translateY(-50%)}
.team .team-arrow--prev{left:0}
.team .team-arrow--next{left:auto;right:0}
}
@media (max-width:991px){
.team .gc-track>.gc-card{flex-basis:calc((100% - 28px) / 2)}
/* tablet + mobile: arrows in a centred row under the cards; the track stays swipeable */
.team .gc-carousel.can-scroll{padding:0 0 64px}
.team .team-arrow{top:auto;bottom:0;transform:none}
.team .team-arrow--prev{left:auto;right:calc(50% + 6px)}
.team .team-arrow--next{right:auto;left:calc(50% + 6px)}
.team .gc-track{touch-action:pan-x pan-y}
}
@media (max-width:767px){
.team .gc-track{gap:16px}
.team .gc-track>.gc-card{flex-basis:100%}
}

/* multi-paragraph field: one <div> per paragraph (see snippet.js) */
#team .gc-tagline > div + div{margin-top:.6em}
