/* The founder story now has its own page, with the existing site typography. */
.mission-page .founders-intro { border-top:0; padding-block:42px; }
.mission-page .story-heading { display:block; }
.mission-page .story-copy em { font-style:italic; }
.mission-page .founders-intro h1 {
  max-width:880px;
  font-size:clamp(36px,4.1vw,58px);
  line-height:1.12;
  letter-spacing:-.035em;
  color:var(--type-ink,var(--ink));
}
.mission-page .founders-intro h1 span { display:block; }
.mission-page .founders-intro h1 em { display:block; color:var(--type-accent,var(--teal)); font-style:normal; text-wrap:balance; }
.mission-page .mission-signoff { color:var(--type-ink); font-weight:500; }
.mission-page .mission-founders { display:grid; grid-template-columns:repeat(2,minmax(0,320px)); gap:14px; margin-top:24px; }
.mission-page .mission-founders article { display:grid; grid-template-columns:48px minmax(0,1fr) 36px; align-items:center; gap:12px; padding:14px 16px; border:1px solid #d7dacd; border-radius:8px; background:#ffffff5e; }
.mission-page .mission-founders img { width:48px; height:48px; object-fit:cover; border-radius:50%; }
.mission-page .mission-founders .eyebrow { margin:0 0 3px; font-size:9px; line-height:1.4; }
.mission-page .mission-founders h2 { font-size:18px; line-height:1.2; letter-spacing:-.02em; }
.mission-page .mission-founders .linkedin-link { width:36px; height:44px; margin:0; }
.mission-page .mission-founders .linkedin-link svg { width:21px; height:21px; }

/* Careers is an independent section so the mission can be rewritten above it. */
.careers-section { margin-top:22px; scroll-margin-top:0; }
.careers-invitation { background:#354737; color:#fdfaf1; padding-block:56px 64px; }
.careers-invitation-content { display:grid; justify-items:center; gap:38px; }
.careers-headline-tile { position:relative; isolation:isolate; display:grid; place-items:center; width:100%; max-width:1040px; min-height:430px; padding:64px; overflow:hidden; border-radius:12px; background:#062c22; }
.careers-film { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.careers-headline-tile::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(115deg,#031d1b66,#071c1673); }
.careers-headline-tile h2 { max-width:860px; font-size:clamp(38px,4.6vw,64px); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; text-align:center; color:#fdfaf1; text-shadow:0 2px 18px #001b18a3; }
.careers-headline-tile h2 em { font-style:normal; color:#e0edc4; }
.careers-motion { position:absolute; right:16px; bottom:16px; display:grid; place-items:center; width:44px; height:44px; padding:10px; border:1px solid #fdfaf166; border-radius:50%; background:#062c227a; color:#fdfaf1; cursor:pointer; }
.careers-motion[hidden] { display:none; }
.careers-motion:hover { background:#062c22; }
.careers-motion svg { width:20px; height:20px; }
.careers-intro { width:100%; max-width:940px; }
.careers-intro>p { font-size:19px; line-height:1.75; color:#eef1e5; }
.careers-invitation :focus-visible { outline-color:#d5e4b1; }
.careers-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; padding-block:48px 58px; border-bottom:1px solid #c9cdc0; scroll-margin-top:80px; }
.careers-principles h3 { font-size:20px; line-height:1.3; letter-spacing:-.02em; margin-bottom:12px; }
.careers-principles p { color:var(--type-muted); font-size:15px; line-height:1.7; }
.career-paths { padding-top:60px; scroll-margin-top:0; }
.career-paths-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:35px; }
.career-paths-heading h3 { font-size:clamp(32px,3.2vw,46px); line-height:1.15; letter-spacing:-.035em; }
.career-paths-heading h3 em { color:var(--type-accent); font-style:italic; }
.career-paths-heading>p { color:var(--type-muted); font-size:15px; max-width:350px; }
.career-role { border-top:1px solid #c9cdc0; }
.career-role:last-child { border-bottom:1px solid #c9cdc0; }
.career-role summary { list-style:none; display:grid; grid-template-columns:40px minmax(0,1fr) minmax(160px,.7fr) 44px; align-items:center; gap:24px; padding:27px 14px; cursor:pointer; transition:background .2s; }
.career-role summary::-webkit-details-marker { display:none; }
.career-role summary::marker { content:""; }
.career-role summary:hover,.career-role[open] summary { background:#e9eddf; }
.career-role summary:focus-visible { outline:2px solid var(--type-accent); outline-offset:-2px; }
.career-number { font-size:12px; color:var(--type-accent); font-variant-numeric:tabular-nums; }
.career-title { font-size:clamp(20px,2.05vw,28px); line-height:1.2; letter-spacing:-.025em; font-weight:500; }
.career-hook { color:var(--type-muted); font-size:14px; line-height:1.5; }
.career-toggle { display:grid; place-items:center; width:40px; height:40px; border:1px solid #85917e; border-radius:50%; }
.career-toggle svg { width:16px; height:16px; }
.career-toggle .vertical { transform-origin:center; transition:transform .2s; }
.career-role[open] .career-toggle .vertical { transform:rotate(90deg); }
.career-role-body { display:grid; grid-template-columns:1fr 1fr; gap:28px 50px; padding:12px 78px 34px; background:#e9eddf; }
.career-role-body h4 { font-size:14px; margin:0 0 10px; font-weight:700; }
.career-role-body p,.career-role-body li { color:var(--type-muted); font-size:15px; line-height:1.65; }
.career-role-body ul { margin:0; padding-left:18px; }
.career-role-body li+li { margin-top:5px; }
.career-role-footer { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; border-top:1px solid #c9cdc0; }
.career-role-footer>p { max-width:360px; font-size:13px; }
.careers-section .button { background:#354737; border-color:#354737; border-radius:4px; font-size:14px; white-space:nowrap; }
.careers-section .button:is(:hover,:focus-visible) { background:#526348; border-color:#526348; }
.careers-connect { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; margin-block:56px 30px; padding:34px 36px; background:#eeeee3; }
.careers-connect h3 { font-size:clamp(24px,2.5vw,32px); line-height:1.25; letter-spacing:-.025em; margin-bottom:13px; }
.careers-connect p { color:var(--type-muted); max-width:620px; font-size:15px; line-height:1.65; }
.careers-contact { display:flex; flex-direction:column; align-items:start; gap:10px; }
@media(max-width:1000px) {
  .careers-headline-tile { min-height:390px; padding:56px 40px; }
  .careers-principles { gap:26px; }
  .career-role summary { gap:16px; grid-template-columns:24px minmax(0,1fr) minmax(140px,.65fr) 40px; }
  .career-role-body { padding-inline:54px; gap:24px; }
  .careers-connect { padding:28px; gap:32px; }
}
@media(max-width:700px) {
  .mission-page .founders-intro { padding-block:32px; }
  .mission-page .founders-intro h1 { font-size:clamp(34px,8vw,48px); }
  .careers-section { margin-top:12px; scroll-margin-top:0; }
  .careers-invitation { padding-block:28px 38px; }
  .careers-invitation-content { gap:28px; }
  .careers-headline-tile { min-height:350px; padding:44px 22px 64px; border-radius:8px; }
  .careers-headline-tile h2 { font-size:clamp(30px,8vw,44px); }
  .careers-motion { right:12px; bottom:12px; }
  .careers-intro>p { font-size:17px; max-width:none; }
  .careers-principles { grid-template-columns:1fr; gap:26px; padding-block:34px 38px; }
  .careers-principles h3 { margin-bottom:8px; }
  .career-paths { padding-top:38px; scroll-margin-top:0; }
  .career-paths-heading { display:block; margin-bottom:26px; }
  .career-paths-heading>p { margin-top:18px; }
  .career-role summary { grid-template-columns:22px minmax(0,1fr) 36px; gap:7px 12px; padding:22px 6px; }
  .career-title { font-size:22px; }
  .career-hook { grid-column:2; font-size:13px; }
  .career-toggle { grid-column:3; grid-row:1/3; width:34px; height:34px; }
  .career-role-body { grid-template-columns:1fr; padding:10px 16px 26px 40px; gap:23px; }
  .career-role-footer { flex-direction:column; align-items:start; gap:16px; }
  .careers-section .button { white-space:normal; gap:20px; }
  .careers-connect { grid-template-columns:1fr; margin-top:36px; padding:26px 22px; gap:24px; }
}
@media(max-width:600px) {
  .mission-page .mission-founders { grid-template-columns:minmax(0,320px); }
}
@media(prefers-reduced-motion:reduce) {
  .careers-section a,.career-role summary,.career-toggle .vertical { transition:none; }
}

@keyframes careersContactPulse {
  0%,100% { box-shadow:0 0 0 0 #52634800; }
  50% { box-shadow:0 0 0 6px #52634838; }
}
@media(max-width:700px) {
 .career-role-footer .button>span[aria-hidden="true"] { display:none; }
 :is(.career-role-footer,.careers-contact) .button { animation:careersContactPulse 2.4s ease-in-out infinite; }
 .page-inactive :is(.career-role-footer,.careers-contact) .button { animation-play-state:paused; }
}
@media(prefers-reduced-motion:reduce) {
 :is(.career-role-footer,.careers-contact) .button { animation:none; }
}

@media(max-width:700px) {
 .careers-contact .button span[aria-hidden="true"] { display:none; }
}
