.about-hero {
  min-height: min(670px, calc(100svh - 92px));
  padding: clamp(72px, 11vw, 130px) 0 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr);
  align-items: center;
  gap: clamp(42px, 8vw, 100px);
}
.about-hero h1 { max-width: 840px; }
.about-hero h1 span { color: #7faee3; }
.about-intro {
  margin: 0;
  padding-left: 24px;
  border-left: 1px solid rgba(127, 174, 227, 0.22);
  color: #96a4b2;
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  line-height: 1.75;
}
.about-intro strong { color: #dce4ec; font-weight: 650; }
.about-section { padding: 72px 0; border-top: 1px solid rgba(139, 181, 224, 0.1); }
.about-section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(280px, 0.46fr);
  gap: 42px;
  align-items: end;
  margin-bottom: 28px;
}
.section-label {
  margin: 0;
  color: #7faee3;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.66rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.about-section-head h2 {
  margin: 12px 0 0;
  font-size: clamp(2.4rem, 6vw, 5rem);
  letter-spacing: -0.07em;
  line-height: 0.96;
}
.about-section-head > p { margin: 0; color: #7f8d9b; line-height: 1.68; }
.layer-map {
  overflow: hidden;
  border: 1px solid rgba(139, 181, 224, 0.12);
  border-radius: 22px;
  background: rgba(139, 181, 224, 0.08);
}
.layer {
  min-height: 152px;
  display: grid;
  grid-template-columns: 88px minmax(190px, 0.48fr) minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  padding: 24px 28px;
  background: rgba(12, 17, 24, 0.97);
}
.layer + .layer { margin-top: 1px; }
.layer-index {
  color: rgba(127, 174, 227, 0.34);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: -0.08em;
}
.layer-title span {
  display: block;
  margin-bottom: 8px;
  color: #6f7d8b;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.layer-title h3 { margin: 0; font-size: 1.35rem; letter-spacing: -0.04em; }
.layer-detail p { margin: 0 0 14px; color: #8492a0; line-height: 1.58; }
.skill-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.skill-tags span {
  padding: 6px 9px;
  border: 1px solid rgba(127, 174, 227, 0.13);
  border-radius: 999px;
  background: rgba(127, 174, 227, 0.035);
  color: #91a4b8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.58rem;
}
.method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.method-card {
  min-height: 220px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(139, 181, 224, 0.11);
  border-radius: 18px;
  background: rgba(13, 18, 25, 0.78);
}
.method-card .method-number { color: #7faee3; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.64rem; }
.method-card h3 { margin: auto 0 0; padding-top: 36px; font-size: 1.65rem; letter-spacing: -0.05em; }
.method-card p { margin: 12px 0 0; color: #8492a0; line-height: 1.62; }
.frontier {
  padding: clamp(28px, 5vw, 48px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.48fr);
  gap: 42px;
  border: 1px solid rgba(127, 174, 227, 0.17);
  border-radius: 22px;
  background:
    radial-gradient(circle at 86% 30%, rgba(127, 174, 227, 0.15), transparent 18rem),
    rgba(13, 18, 25, 0.86);
}
.frontier h2 { margin: 14px 0 0; font-size: clamp(2.3rem, 5.5vw, 4.5rem); letter-spacing: -0.065em; line-height: 0.98; }
.frontier-copy { align-self: end; }
.frontier-copy p { margin: 0; color: #92a0ae; line-height: 1.72; }
.frontier-copy .skill-tags { margin-top: 20px; }
.about-actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 10px; }
.about-footer { margin-top: 72px; }

@media (max-width: 820px) {
  .about-hero, .about-section-head, .frontier { grid-template-columns: 1fr; }
  .about-hero { min-height: auto; }
  .layer { grid-template-columns: 62px minmax(0, 1fr); }
  .layer-detail { grid-column: 2; }
  .method-grid { grid-template-columns: 1fr; }
  .method-card { min-height: 190px; }
}
@media (max-width: 620px) {
  .about-hero { padding: 68px 0 54px; }
  .about-hero h1 { font-size: clamp(2.8rem, 14vw, 4rem); }
  .about-intro { padding: 20px 0 0; border-top: 1px solid rgba(127, 174, 227, 0.22); border-left: 0; }
  .about-section { padding: 56px 0; }
  .about-section-head { gap: 20px; }
  .about-section-head h2 { font-size: clamp(2.1rem, 11vw, 3.4rem); }
  .layer-map { border-radius: 16px; }
  .layer { grid-template-columns: 1fr; gap: 14px; padding: 22px; }
  .layer-index { font-size: 1rem; }
  .layer-detail { grid-column: auto; }
  .method-card { min-height: 0; padding: 20px; }
  .method-card h3 { padding-top: 28px; }
  .frontier { padding: 24px; }
  .about-actions { display: grid; grid-template-columns: 1fr; }
  .about-actions .button { width: 100%; }
}
