.page-about{
  --about-gray:#8A8078;
  --about-gray-l:#A89E94;
  --about-carbon-line:rgba(11,29,51,.35);
  background:var(--color-cream);
  color:var(--color-ink);
  font-family:var(--font-body);
  line-height:1.7;
  overflow-x:hidden;
}
.page-about .crumb{
  max-width:1240px;
  margin:0 auto 20px;
  padding:0 var(--site-pad);
  font-family:var(--font-data);
  font-size:0.85rem;
}
.page-about .crumb span[aria-current="page"]{
  font-weight:700;
  color:var(--color-deep);
}
.page-about .about-cover{
  max-width:1240px;
  margin:0 auto 72px;
  display:grid;
  grid-template-columns:1fr;
  border:3px solid var(--color-deep);
  box-shadow:var(--shadow-card);
}
.page-about .about-cover-left{
  background:
    linear-gradient(135deg, rgba(11,29,51,.06) 25%, transparent 25%) 0 0 / 24px 24px,
    var(--about-gray);
  padding:36px var(--site-pad) 28px;
}
.page-about .about-tab{
  display:inline-block;
  background:var(--color-deep);
  color:var(--color-cream);
  font-family:var(--font-data);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:.14em;
  padding:7px 14px 8px;
  border:2px solid var(--color-deep);
  box-shadow:5px 5px 0 var(--about-carbon-line);
  margin-bottom:22px;
}
.page-about .about-cover-left .lead{
  margin:18px 0 24px;
  color:var(--color-ink);
  max-width:52ch;
}
.page-about .about-cover-pic{
  margin-top:8px;
  max-width:620px;
}
.page-about .about-cover-pic img,
.page-about .about-timeline-aside img,
.page-about .about-process-foot img{
  display:block;
  width:100%;
  height:auto;
}
.page-about .about-cover-right{
  background:var(--color-cream);
  border-top:3px solid var(--color-deep);
  padding:36px var(--site-pad) 32px;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.page-about .about-file{
  margin:0;
}
.page-about .about-file .k-card-head{
  background:var(--color-deep-l);
  color:var(--color-cream);
  padding:10px 14px;
  border-bottom:2px solid var(--color-deep);
}
.page-about .about-file .data-list{
  margin:0;
}
.page-about .about-file-note{
  margin:14px 0 0;
  padding-top:12px;
  border-top:1px solid var(--color-line);
  font-size:0.92rem;
  color:var(--color-ink);
}
.page-about .about-cover-right .btn{
  align-self:flex-start;
}
.page-about .about-timeline-section{
  max-width:1240px;
  margin:0 auto 72px;
  padding:0 var(--site-pad);
}
.page-about .about-timeline-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  margin-top:32px;
}
.page-about .about-timeline{
  position:relative;
  padding-left:30px;
}
.page-about .about-timeline::before{
  content:"";
  position:absolute;
  left:8px;
  top:10px;
  bottom:12px;
  width:5px;
  background:var(--color-deep);
}
.page-about .about-node{
  position:relative;
  padding:0 0 34px 18px;
}
.page-about .about-node:last-child{
  padding-bottom:0;
}
.page-about .about-node::before{
  content:"";
  position:absolute;
  left:-30px;
  top:3px;
  width:22px;
  height:22px;
  background:var(--color-neon);
  border:3px solid var(--color-deep);
  box-shadow:4px 4px 0 var(--about-carbon-line);
}
.page-about .about-node-year{
  display:inline-block;
  font-family:var(--font-data);
  font-weight:700;
  font-size:1.35rem;
  letter-spacing:.04em;
  background:var(--color-deep);
  color:var(--color-cream);
  padding:5px 30px 5px 12px;
  border:2px solid var(--color-deep);
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
  margin-bottom:14px;
}
.page-about .about-node-body{
  position:relative;
  background:var(--color-cream);
  border:2px solid var(--color-deep);
  box-shadow:var(--shadow-sm);
  padding:18px 20px;
  transition:background .18s ease;
}
.page-about .about-node:hover .about-node-body{
  background:#fff;
}
.page-about .about-node-body h3{
  font-family:var(--font-head);
  font-size:1.12rem;
  margin:0 0 8px;
}
.page-about .about-node-body p{
  margin:0;
  font-size:0.96rem;
}
.page-about .about-node-bubble{
  margin-top:12px;
  padding:10px 12px;
  background:var(--color-deep);
  color:var(--color-cream);
  font-family:var(--font-data);
  font-size:0.82rem;
  line-height:1.5;
}
.page-about .about-timeline-aside{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.page-about .about-status-list{
  list-style:none;
  margin:0;
  padding:0;
  font-family:var(--font-data);
  font-size:0.92rem;
  display:grid;
  gap:10px;
}
.page-about .about-status-list li{
  padding:6px 0;
  border-bottom:1px solid var(--color-line);
}
.page-about .about-status-list li:last-child{
  border-bottom:none;
}
.page-about .about-process-section{
  background:linear-gradient(180deg, var(--color-carbon), var(--color-deep));
  padding:56px var(--site-pad);
  margin-bottom:72px;
  border-top:3px solid var(--color-deep);
  border-bottom:3px solid var(--color-deep);
}
.page-about .about-process-section .section-head{
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
}
.page-about .about-process-grid{
  max-width:1240px;
  margin:32px auto 0;
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
.page-about .about-step{
  position:relative;
  background:var(--color-cream);
  border:2px solid var(--color-deep);
  box-shadow:8px 8px 0 var(--color-carbon);
  padding:22px 20px;
}
.page-about .about-step-num{
  display:inline-block;
  font-family:var(--font-data);
  font-weight:700;
  font-size:1.7rem;
  background:var(--color-deep);
  color:var(--color-neon);
  padding:2px 12px;
  margin-bottom:12px;
}
.page-about .about-step h3{
  font-family:var(--font-head);
  font-size:1.08rem;
  margin:0 0 8px;
}
.page-about .about-step p{
  margin:0;
  font-size:0.94rem;
}
.page-about .about-process-foot{
  max-width:1240px;
  margin:30px auto 0;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:center;
  color:var(--color-cream);
}
.page-about .about-process-foot img{
  max-width:200px;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-about .about-process-note{
  border-left:4px solid var(--color-neon);
  padding-left:16px;
  text-align:left;
}
.page-about .about-process-note strong{
  display:block;
  font-family:var(--font-head);
  color:var(--color-neon);
  margin-bottom:6px;
}
.page-about .about-process-note p{
  margin:0;
  font-family:var(--font-body);
  font-size:0.92rem;
  color:var(--color-cream);
  max-width:52ch;
}
.page-about .about-team-section{
  max-width:1240px;
  margin:0 auto 72px;
  padding:0 var(--site-pad);
}
.page-about .about-team-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  margin-top:32px;
}
.page-about .about-team-grid .k-card{
  margin:0;
}
.page-about .about-details{
  max-width:1240px;
  margin:0 auto 72px;
  padding:0 var(--site-pad);
  display:grid;
  gap:16px;
}
.page-about .about-detail-item{
  background:var(--color-cream);
  border:2px solid var(--color-deep);
  box-shadow:var(--shadow-sm);
}
.page-about .about-detail-item summary{
  cursor:pointer;
  list-style:none;
  font-family:var(--font-head);
  font-weight:700;
  font-size:1.02rem;
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.page-about .about-detail-item summary::-webkit-details-marker{
  display:none;
}
.page-about .about-detail-item summary::after{
  content:"+";
  font-family:var(--font-data);
  font-size:1.5rem;
  line-height:1;
  color:var(--color-deep);
}
.page-about .about-detail-item[open] summary::after{
  content:"–";
}
.page-about .about-detail-body{
  padding:0 20px 18px;
}
.page-about .about-detail-body p{
  margin:0;
  padding-top:14px;
  border-top:2px solid var(--color-deep);
  font-size:0.96rem;
}
.page-about .about-index-band{
  background:var(--color-neon);
  border-top:3px solid var(--color-deep);
  border-bottom:3px solid var(--color-deep);
  padding:36px var(--site-pad);
}
.page-about .about-index-grid{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.page-about .about-index-link{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:18px 20px;
  background:var(--color-deep);
  color:var(--color-cream);
  border:2px solid var(--color-deep);
  box-shadow:8px 8px 0 var(--color-carbon);
  text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.page-about .about-index-link .data-num{
  color:var(--color-neon);
  font-size:0.9rem;
  margin-bottom:4px;
}
.page-about .about-index-link span:not(.data-num){
  font-family:var(--font-head);
  font-weight:700;
  font-size:1.06rem;
}
.page-about .about-index-link small{
  opacity:.78;
  font-family:var(--font-data);
  font-size:0.78rem;
}
.page-about .about-index-link:hover{
  background:var(--color-alert);
  transform:translate(4px,4px);
  box-shadow:4px 4px 0 var(--color-carbon);
}
@media (min-width:760px){
  .page-about .about-process-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .page-about .about-process-foot{
    grid-template-columns:auto 1fr;
    justify-content:start;
  }
  .page-about .about-team-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .page-about .about-index-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (min-width:980px){
  .page-about .about-cover{
    grid-template-columns:1.1fr 0.9fr;
  }
  .page-about .about-cover-right{
    border-top:none;
    border-left:3px solid var(--color-deep);
  }
  .page-about .about-timeline-grid{
    grid-template-columns:1.1fr 0.9fr;
    align-items:start;
    gap:48px;
  }
  .page-about .about-timeline-aside{
    position:sticky;
    top:96px;
  }
  .page-about .about-process-grid{
    grid-template-columns:repeat(4,1fr);
    gap:32px;
  }
  .page-about .about-step:not(:last-child)::after{
    content:"→";
    position:absolute;
    right:-26px;
    top:50%;
    transform:translateY(-50%);
    color:var(--color-neon);
    font-family:var(--font-data);
    font-size:1.8rem;
    z-index:3;
    pointer-events:none;
  }
  .page-about .about-node-bubble{
    position:absolute;
    left:calc(100% + 24px);
    top:50%;
    width:240px;
    background:var(--color-cream);
    color:var(--color-ink);
    border:2px solid var(--color-deep);
    box-shadow:var(--shadow-sm);
    padding:12px 14px;
    font-family:var(--font-data);
    font-size:0.82rem;
    line-height:1.5;
    opacity:0;
    transform:translateY(-50%) scale(.96);
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
    z-index:4;
  }
  .page-about .about-node:hover .about-node-bubble,
  .page-about .about-node:focus-within .about-node-bubble{
    opacity:1;
    transform:translateY(-50%) scale(1);
  }
  .page-about .about-details{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
  .page-about .about-index-grid{
    grid-template-columns:repeat(4,1fr);
  }
}
