/* Shared Master Content Template slices */
.slice-wrap { width: 100%; max-width: var(--container-large); margin: 0 auto; padding-left: var(--padding-global); padding-right: var(--padding-global); }
.slice-section { padding-top: var(--padding-section-large); padding-bottom: var(--padding-section-large); }
.slice-section.alt { background: var(--color-neutral-lightest); }
.slice-section + .slice-section { border-top: var(--stroke-divider) solid var(--color-neutral-lighter); }
.slice-kicker { margin: 0 0 calc(var(--padding-section-small) / 3); color: var(--color-neutral); font-size: var(--font-size-text-tiny); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.slice-head { display: flex; align-items: end; justify-content: space-between; gap: var(--padding-section-small); margin-bottom: var(--padding-section-small); }
.slice-head-copy { max-width: var(--max-width-large); }
.slice-head h2 { font-size: var(--font-size-h2); font-weight: 600; }
.slice-head p:not(.slice-kicker) { margin-top: calc(var(--padding-section-small) / 3); color: var(--color-neutral-dark); font-size: var(--font-size-text-medium); line-height: 1.6; }
.slice-link { display: inline-flex; align-items: center; gap: calc(var(--padding-section-small) / 6); font-size: var(--font-size-text-small); font-weight: 700; }
.slice-btn { display: inline-flex; align-items: center; justify-content: center; gap: calc(var(--padding-section-small) / 6); min-height: 44px; border: var(--stroke-border) solid var(--scheme-border); padding: calc(var(--padding-section-small) / 5) calc(var(--padding-section-small) / 2); background: var(--scheme-accent); color: var(--color-white); font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.slice-btn.ghost { background: var(--scheme-background); color: var(--scheme-text); }
.slice-note { max-width: var(--max-width-large); margin-top: calc(var(--padding-section-small) / 2); color: var(--color-neutral); font-size: var(--font-size-text-tiny); font-style: italic; }

/* Banner */
.slice-banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr); min-height: 560px; border-bottom: var(--stroke-border) solid var(--scheme-border); background: var(--color-neutral-lightest); }
.slice-banner-copy { display: flex; flex-direction: column; justify-content: center; padding: var(--padding-section-medium) max(var(--padding-global), calc((100vw - var(--container-large)) / 2 + var(--padding-global))); padding-right: var(--padding-section-medium); }
.slice-banner h1 { max-width: var(--max-width-large); font-size: var(--font-size-h1); }
.slice-banner-copy > p:not(.slice-kicker) { max-width: var(--max-width-large); margin-top: calc(var(--padding-section-small) / 2); color: var(--color-neutral-dark); font-size: var(--font-size-text-large); line-height: 1.6; }
.slice-banner-actions { display: flex; flex-wrap: wrap; gap: calc(var(--padding-section-small) / 4); margin-top: calc(var(--padding-section-small) * .66); }
.slice-banner .wf-image { min-height: 560px; border-top: 0; border-right: 0; border-bottom: 0; }

/* Rich content repeater */
.slice-rich-repeater { display: flex; flex-direction: column; gap: var(--padding-section-medium); }
.slice-rich-row { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border: var(--stroke-border) solid var(--scheme-border); background: var(--scheme-background); }
.slice-rich-row .wf-image { min-height: 420px; border: 0; border-right: var(--stroke-border) solid var(--scheme-border); }
.slice-rich-row.reverse .wf-image { order: 2; border-right: 0; border-left: var(--stroke-border) solid var(--scheme-border); }
.slice-rich-copy { display: flex; flex-direction: column; justify-content: center; padding: var(--padding-section-small); }
.slice-rich-copy h2, .slice-rich-copy h3 { margin-bottom: calc(var(--padding-section-small) / 3); font-size: var(--font-size-h3); }
.slice-rich-copy p:not(.slice-kicker) { color: var(--color-neutral-dark); font-size: var(--font-size-text-medium); line-height: 1.6; }
.slice-rich-copy p + p { margin-top: calc(var(--padding-section-small) / 3); }
.slice-rich-copy .slice-link, .slice-rich-copy .slice-btn { align-self: flex-start; margin-top: calc(var(--padding-section-small) / 2); }

/* Stats */
.slice-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: var(--stroke-border) solid var(--scheme-border); }
.slice-stat { min-height: 200px; padding: calc(var(--padding-section-small) * .66); }
.slice-stat + .slice-stat { border-left: var(--stroke-border) solid var(--scheme-border); }
.slice-stat strong { display: block; margin-bottom: calc(var(--padding-section-small) / 3); font-size: var(--font-size-h1); line-height: 1; }
.slice-stat h3 { margin-bottom: calc(var(--padding-section-small) / 6); font-size: var(--font-size-text-medium); }
.slice-stat p { color: var(--color-neutral-dark); font-size: var(--font-size-text-small); line-height: 1.6; }

/* Card grid + carousel */
.slice-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--padding-section-small) / 2); }
.slice-card { border: var(--stroke-border) solid var(--scheme-border); background: var(--scheme-background); overflow: hidden; }
.slice-card .wf-image { min-height: 220px; border: 0; border-bottom: var(--stroke-border) solid var(--scheme-border); }
.slice-card-body { padding: calc(var(--padding-section-small) / 2); }
.slice-card-meta { margin-bottom: calc(var(--padding-section-small) / 6); color: var(--color-neutral); font-size: var(--font-size-text-tiny); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.slice-card h3 { font-size: var(--font-size-h5); }
.slice-card-body > p:not(.slice-card-meta) { margin-top: calc(var(--padding-section-small) / 4); color: var(--color-neutral-dark); font-size: var(--font-size-text-small); line-height: 1.6; }
.slice-card .slice-link { margin-top: calc(var(--padding-section-small) / 3); }
.slice-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 31%); gap: calc(var(--padding-section-small) / 2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.slice-carousel::-webkit-scrollbar { display: none; }
.slice-carousel > * { scroll-snap-align: start; }

/* Historical timeline */
.slice-timeline { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr); gap: var(--padding-section-medium); align-items: start; }
.slice-timeline-media { position: sticky; top: calc(var(--sh-header-h, 80px) + var(--padding-section-small)); }
.slice-timeline-media .wf-image { min-height: 520px; }
.slice-timeline-list { list-style: none; margin: 0; padding: 0; }
.slice-timeline-item { position: relative; padding: calc(var(--padding-section-small) / 2) 0 calc(var(--padding-section-small) / 2) calc(var(--padding-section-small) / 2); border-left: 2px solid var(--color-neutral-lighter); }
.slice-timeline-item::before { content: ""; position: absolute; left: -7px; top: calc(var(--padding-section-small) / 2 + 6px); width: 12px; height: 12px; border-radius: 999px; background: var(--color-neutral-lighter); }
.slice-timeline-item.active { border-left-color: var(--scheme-border); }
.slice-timeline-item.active::before { background: var(--scheme-accent); }
.slice-timeline-date { margin-bottom: calc(var(--padding-section-small) / 8); color: var(--color-neutral); font-size: var(--font-size-text-tiny); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.slice-timeline-item h3 { margin-bottom: calc(var(--padding-section-small) / 8); font-size: var(--font-size-h5); }
.slice-timeline-item p:not(.slice-timeline-date) { color: var(--color-neutral-dark); font-size: var(--font-size-text-small); line-height: 1.6; }

/* Accordion group repeater */
.slice-accordion-repeater { display: flex; flex-direction: column; gap: var(--padding-section-medium); }
.slice-accordion-row { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border: var(--stroke-border) solid var(--scheme-border); background: var(--scheme-background); }
.slice-accordion-row .wf-image { min-height: 420px; border: 0; border-right: var(--stroke-border) solid var(--scheme-border); }
.slice-accordion-row.reverse .wf-image { order: 2; border-right: 0; border-left: var(--stroke-border) solid var(--scheme-border); }
.slice-accordion-panel { padding: var(--padding-section-small); }
.slice-accordion-panel h3 { margin-bottom: calc(var(--padding-section-small) / 3); font-size: var(--font-size-h4); }
.slice-accordion { border-top: var(--stroke-border) solid var(--scheme-border); }
.slice-accordion details { border-bottom: var(--stroke-border) solid var(--scheme-border); }
.slice-accordion summary { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--padding-section-small) / 2); padding: calc(var(--padding-section-small) / 2) 0; list-style: none; font-size: var(--font-size-text-medium); font-weight: 700; cursor: pointer; }
.slice-accordion summary::-webkit-details-marker { display: none; }
.slice-accordion summary::after { content: "+"; font-size: var(--font-size-h5); font-weight: 400; }
.slice-accordion details[open] summary::after { content: "−"; }
.slice-accordion-answer { padding: 0 0 calc(var(--padding-section-small) / 2); color: var(--color-neutral-dark); font-size: var(--font-size-text-regular); line-height: 1.6; }

/* CTA */
.slice-cta { display: grid; grid-template-columns: 1fr auto; gap: var(--padding-section-small); align-items: center; border: var(--stroke-border) solid var(--scheme-border); padding: var(--padding-section-medium); background: var(--color-neutral-darkest); color: var(--color-white); }
.slice-cta h2 { max-width: var(--max-width-large); font-size: var(--font-size-h2); }
.slice-cta p { max-width: var(--max-width-large); margin-top: calc(var(--padding-section-small) / 3); color: var(--color-neutral-lighter); font-size: var(--font-size-text-medium); line-height: 1.6; }
.slice-cta .slice-btn { background: var(--color-white); color: var(--color-neutral-darkest); border-color: var(--color-white); }
.slice-cta-actions { display: flex; flex-wrap: wrap; gap: calc(var(--padding-section-small) / 4); }

/* Hiring events */
.slice-events { display: flex; flex-direction: column; border-top: var(--stroke-border) solid var(--scheme-border); }
.slice-event { display: grid; grid-template-columns: 170px minmax(0, 1fr) minmax(240px, .7fr) auto; gap: calc(var(--padding-section-small) * .66); align-items: center; padding: calc(var(--padding-section-small) * .66) 0; border-bottom: var(--stroke-border) solid var(--scheme-border); }
.slice-event-date strong { display: block; font-size: var(--font-size-h5); }
.slice-event-date span { color: var(--color-neutral); font-size: var(--font-size-text-tiny); }
.slice-event h3 { margin-bottom: calc(var(--padding-section-small) / 8); font-size: var(--font-size-h5); }
.slice-event p { color: var(--color-neutral-dark); font-size: var(--font-size-text-small); line-height: 1.6; }
.slice-event-facts { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--padding-section-small) / 4); }
.slice-event-fact span { display: block; color: var(--color-neutral); font-size: var(--font-size-text-tiny); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.slice-event-fact strong { font-size: var(--font-size-text-small); }

/* Open positions */
.slice-tabs { display: flex; gap: calc(var(--padding-section-small) / 6); margin-bottom: calc(var(--padding-section-small) / 2); overflow-x: auto; }
.slice-tab { flex: 0 0 auto; border: var(--stroke-border) solid var(--scheme-border); padding: calc(var(--padding-section-small) / 5) calc(var(--padding-section-small) / 3); background: var(--scheme-background); font-size: var(--font-size-text-small); font-weight: 700; cursor: pointer; }
.slice-tab.active { background: var(--scheme-accent); color: var(--color-white); }
.slice-jobs { border-top: var(--stroke-border) solid var(--scheme-border); }
.slice-job { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(160px, .7fr) minmax(150px, .6fr) auto; gap: calc(var(--padding-section-small) / 2); align-items: center; padding: calc(var(--padding-section-small) / 2) 0; border-bottom: var(--stroke-border) solid var(--scheme-border); text-decoration: none; }
.slice-job-title { font-size: var(--font-size-text-medium); font-weight: 700; }
.slice-job-meta { color: var(--color-neutral-dark); font-size: var(--font-size-text-small); }
.slice-job-tag { justify-self: start; border: var(--stroke-border) solid var(--scheme-border); padding: calc(var(--padding-section-small) / 10) calc(var(--padding-section-small) / 5); font-size: var(--font-size-text-tiny); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

/* Gallery */
.slice-gallery { display: grid; grid-template-columns: 1.35fr .65fr .65fr; grid-template-rows: 280px 280px; gap: calc(var(--padding-section-small) / 3); }
.slice-gallery .wf-image { min-height: 0; }
.slice-gallery .wf-image:first-child { grid-row: 1 / 3; }
.slice-gallery .wf-image:nth-child(4) { grid-column: 2 / 4; }

@media (max-width: 991px) {
  .slice-banner, .slice-rich-row, .slice-accordion-row { grid-template-columns: 1fr; }
  .slice-banner-copy { padding: var(--padding-section-medium) var(--padding-global); }
  .slice-banner .wf-image { min-height: 360px; border-left: 0; border-top: var(--stroke-border) solid var(--scheme-border); }
  .slice-rich-row .wf-image, .slice-rich-row.reverse .wf-image, .slice-accordion-row .wf-image, .slice-accordion-row.reverse .wf-image { order: 0; border-left: 0; border-right: 0; border-bottom: var(--stroke-border) solid var(--scheme-border); }
  .slice-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .slice-stats { grid-template-columns: 1fr 1fr; }
  .slice-stat:nth-child(3) { border-left: 0; border-top: var(--stroke-border) solid var(--scheme-border); }
  .slice-stat:nth-child(4) { border-top: var(--stroke-border) solid var(--scheme-border); }
  .slice-timeline { grid-template-columns: 1fr; }
  .slice-timeline-media { position: static; }
  .slice-timeline-media .wf-image { min-height: 320px; }
  .slice-cta { grid-template-columns: 1fr; }
  .slice-event { grid-template-columns: 150px 1fr auto; }
  .slice-event-facts { grid-column: 2; }
  .slice-job { grid-template-columns: 1fr auto; }
  .slice-job-meta, .slice-job-tag { grid-column: 1; }
  .slice-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 260px); }
  .slice-gallery .wf-image:nth-child(4) { grid-column: 1 / 3; }
}
@media (max-width: 640px) {
  .slice-head { align-items: flex-start; flex-direction: column; }
  .slice-card-grid, .slice-stats { grid-template-columns: 1fr; }
  .slice-stat + .slice-stat, .slice-stat:nth-child(3) { border-left: 0; border-top: var(--stroke-border) solid var(--scheme-border); }
  .slice-event { grid-template-columns: 1fr; }
  .slice-event-facts { grid-column: 1; }
  .slice-gallery { display: flex; flex-direction: column; }
  .slice-gallery .wf-image { min-height: 240px; }
}
