.anthropic-certification {
  --ac-ink: #0b241f;
  --ac-green: #0d342b;
  --ac-deep: #061d18;
  --ac-paper: #f4f0e7;
  --ac-gold: #d7ae57;
  --ac-coral: #e67b55;
  --ac-mint: #8edac2;
  color: var(--ac-ink);
  background: var(--ac-paper);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
}

.anthropic-certification .site-header {
  background: rgba(244, 240, 231, .94);
}

.ac-hero {
  position: relative;
  min-height: calc(100svh - 72px);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #f8f4eb;
  background:
    radial-gradient(circle at 80% 38%, rgba(215, 174, 87, .14), transparent 28%),
    linear-gradient(145deg, #061d18 0%, #0b3128 72%, #0d3a30 100%);
}

.ac-hero::before,
.ac-hero::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(215, 174, 87, .22);
  border-radius: 50%;
  pointer-events: none;
}

.ac-hero::before { width: 70vw; height: 70vw; right: -35vw; top: -28vw; }
.ac-hero::after { width: 48vw; height: 48vw; right: -18vw; top: -16vw; }

.ac-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: clamp(56px, 8vw, 112px);
  align-items: center;
  padding-block: clamp(48px, 4.5vw, 70px);
}

.ac-breadcrumb {
  display: inline-flex;
  margin-bottom: 34px;
  color: rgba(248, 244, 235, .7);
  font-size: 13px;
  font-weight: 750;
}

.ac-kicker,
.ac-section-number,
.ac-role-eyebrow,
.ac-app-code,
.ac-label {
  color: var(--ac-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.ac-hero h1,
.ac-section-heading,
.ac-final h2 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.ac-hero h1 {
  margin-top: 20px;
  max-width: 13ch;
  font-size: clamp(52px, 5vw, 76px);
  line-height: 1.04;
}

.ac-hero h1 .accent { color: var(--ac-gold); }
.ac-hero h1 .line { display: block; white-space: nowrap; }
.ac-hero-lead { max-width: 650px; margin-top: 24px; color: rgba(248, 244, 235, .74); font-size: clamp(16px, 1.35vw, 19px); line-height: 1.85; }

.ac-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ac-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid rgba(248, 244, 235, .25);
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 850;
  transition: transform .2s ease, background .2s ease;
}
.ac-button:hover { transform: translateY(-2px); background: rgba(255,255,255,.08); }
.ac-button.primary { border-color: var(--ac-gold); background: var(--ac-gold); color: #12281f; }

.ac-topology {
  position: relative;
  min-height: 540px;
  display: grid;
  place-items: center;
}

.ac-topology::before,
.ac-topology::after {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(142, 218, 194, .15);
  border-radius: 50%;
  animation: ac-rotate 34s linear infinite;
}
.ac-topology::after { inset: 24%; border-color: rgba(215,174,87,.22); animation-direction: reverse; animation-duration: 23s; }

.ac-topology-core {
  position: relative;
  z-index: 2;
  display: grid;
  width: 126px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(215,174,87,.42);
  border-radius: 50%;
  background: rgba(6,29,24,.88);
  color: #fff;
  font-family: Georgia, serif;
  font-size: 22px;
  letter-spacing: .08em;
  box-shadow: 0 0 80px rgba(215,174,87,.12);
}

.ac-topology-node {
  position: absolute;
  z-index: 3;
  display: grid;
  min-width: 120px;
  min-height: 74px;
  place-items: center;
  padding: 12px 18px;
  border: 1px solid rgba(248,244,235,.18);
  border-radius: 18px;
  background: rgba(6,29,24,.78);
  color: #fff;
  font-family: Georgia, serif;
  font-size: 20px;
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
  animation: ac-float 4.8s ease-in-out infinite alternate;
}
.ac-topology-node small { display: block; margin-top: 4px; color: rgba(248,244,235,.56); font-family: inherit; font-size: 9px; letter-spacing: .15em; }
.ac-node-1 { left: 3%; top: 15%; }
.ac-node-2 { right: 1%; top: 14%; animation-delay: .45s; }
.ac-node-3 { left: 2%; bottom: 15%; animation-delay: .9s; }
.ac-node-4 { right: 0; bottom: 14%; animation-delay: 1.35s; }

.ac-branch {
  position: absolute;
  z-index: 1;
  width: 42%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215,174,87,.72), transparent);
  transform-origin: center;
  opacity: .8;
}
.ac-branch-1 { transform: rotate(35deg); }
.ac-branch-2 { transform: rotate(-35deg); }

.ac-section { padding: clamp(92px, 11vw, 160px) 0; }
.ac-section.dark { color: #f8f4eb; background: var(--ac-deep); }
.ac-section.green { color: #f8f4eb; background: var(--ac-green); }
.ac-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr); gap: 64px; align-items: end; margin-bottom: 68px; }
.ac-section-heading { margin-top: 15px; max-width: 13ch; font-size: clamp(46px, 5.7vw, 82px); line-height: 1.12; }
.ac-section-heading { white-space: nowrap; }
.ac-section-heading-wide { max-width: none; font-size: clamp(40px, 4.2vw, 64px); }
.ac-section-head > p { color: #5e6e68; font-size: 16px; line-height: 1.9; }
.dark .ac-section-head > p, .green .ac-section-head > p { color: rgba(248,244,235,.66); }

.ac-shift {
  display: grid;
  grid-template-columns: minmax(0, .8fr) 120px minmax(0, 1.2fr);
  gap: 24px;
  align-items: center;
}
.ac-shift-stage { min-height: 260px; padding: 36px; border: 1px solid rgba(248,244,235,.13); background: rgba(255,255,255,.025); }
.ac-shift-date { color: var(--ac-gold); font-size: 14px; font-weight: 900; letter-spacing: .18em; }
.ac-shift-stage strong { display: block; margin-top: 52px; font-family: Georgia, serif; font-size: clamp(30px, 3vw, 44px); font-weight: 500; line-height: 1.12; }
.ac-shift-stage p { margin-top: 12px; color: rgba(248,244,235,.58); font-size: 14px; }
.ac-shift-arrow { display: grid; place-items: center; color: var(--ac-gold); font-size: 40px; }
.ac-shift-new { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 32px; }
.ac-shift-new span { min-height: 88px; display: grid; align-content: center; padding: 16px; border-left: 1px solid var(--ac-gold); color: rgba(248,244,235,.9); font-size: clamp(20px, 1.55vw, 22px); line-height: 1.32; }
.ac-delivery { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(248,244,235,.13); color: rgba(248,244,235,.62); font-size: 13px; letter-spacing: .08em; }

.ac-role-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(11,36,31,.22); border-bottom: 1px solid rgba(11,36,31,.22); }
.ac-role { padding: 38px clamp(22px, 3vw, 44px) 42px; }
.ac-role + .ac-role { border-left: 1px solid rgba(11,36,31,.22); }
.ac-role h3 { margin-top: 12px; font-family: Georgia, serif; font-size: clamp(32px, 3.2vw, 48px); font-weight: 500; }
.ac-role-intro { min-height: 92px; margin-top: 18px; color: #54645e; font-size: 15px; line-height: 1.75; }
.ac-exam { position: relative; margin-top: 30px; padding-top: 26px; border-top: 1px solid rgba(11,36,31,.16); }
.ac-exam + .ac-exam { margin-top: 34px; }
.ac-exam-code { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; font-family: Georgia, serif; font-size: 31px; }
.ac-exam-code small { color: #65756e; font-family: inherit; font-size: 12px; letter-spacing: .14em; }
.ac-exam h4 { margin-top: 8px; font-size: 15px; line-height: 1.45; }
.ac-proof { margin-top: 18px; }
.ac-proof dt { color: #9a7b3c; font-size: 12px; font-weight: 900; letter-spacing: .17em; }
.ac-proof dd { margin-top: 7px; color: #3d4d47; font-size: 14px; line-height: 1.75; }
.ac-exam-meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 20px; }
.ac-exam-meta span { padding: 10px 0; border-top: 1px solid rgba(11,36,31,.12); color: #5a6a64; font-size: 12px; }
.ac-nichful-badge { display: inline-flex; margin-top: 18px; padding: 6px 10px; border-radius: 999px; background: var(--ac-green); color: #fff; font-size: 12px; font-weight: 850; letter-spacing: .1em; }

.ac-reality-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(28px, 4vw, 56px); }
.ac-reality-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(248,244,235,.18); border-left: 1px solid rgba(248,244,235,.18); }
.ac-reality-facts > div { min-height: 190px; display: flex; flex-direction: column; justify-content: center; padding: 28px; border-right: 1px solid rgba(248,244,235,.18); border-bottom: 1px solid rgba(248,244,235,.18); }
.ac-reality-facts strong { font-family: Georgia, serif; font-size: clamp(38px, 4vw, 58px); font-weight: 500; line-height: 1; }
.ac-reality-facts span { margin-top: 14px; color: var(--ac-gold); font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.ac-reality-facts p { margin-top: 10px; color: rgba(248,244,235,.62); font-size: 14px; }
.ac-exam-spec-list { border-top: 1px solid rgba(248,244,235,.18); }
.ac-exam-spec-row { min-height: 95px; display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 18px; align-items: center; border-bottom: 1px solid rgba(248,244,235,.18); }
.ac-exam-spec-row b { color: var(--ac-gold); font-family: Georgia, serif; font-size: 26px; font-weight: 500; }
.ac-exam-spec-row span { color: rgba(248,244,235,.62); font-size: 12px; font-weight: 850; letter-spacing: .1em; }
.ac-exam-spec-row strong { font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.ac-retake-panel { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); gap: clamp(28px, 5vw, 72px); margin-top: 72px; padding: clamp(30px, 4vw, 58px); border: 1px solid rgba(215,174,87,.32); background: linear-gradient(125deg, rgba(215,174,87,.08), rgba(255,255,255,.02)); }
.ac-retake-panel h3 { margin-top: 18px; font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, Georgia, serif; font-size: clamp(31px, 3.3vw, 50px); font-weight: 500; line-height: 1.25; }
.ac-retake-copy { align-self: center; }
.ac-retake-steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 14px; }
.ac-retake-steps span { color: var(--ac-gold); font-size: 12px; font-weight: 900; letter-spacing: .13em; text-align: center; }
.ac-retake-steps b { display: block; color: #fff; font-family: Georgia, serif; font-size: clamp(40px, 4.4vw, 66px); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.ac-retake-steps i { color: rgba(248,244,235,.36); font-style: normal; font-size: 26px; }
.ac-retake-copy > p { margin-top: 24px; color: rgba(248,244,235,.66); font-size: 15px; line-height: 1.85; }
.ac-note.on-dark { color: rgba(248,244,235,.52); }

.ac-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(11,36,31,.2); border-left: 1px solid rgba(11,36,31,.2); }
.ac-method-card { position: relative; min-height: 340px; display: flex; flex-direction: column; padding: clamp(30px, 4vw, 52px); border-right: 1px solid rgba(11,36,31,.2); border-bottom: 1px solid rgba(11,36,31,.2); overflow: hidden; }
.ac-method-number { position: absolute; right: 24px; top: 12px; color: rgba(11,36,31,.055); font-family: Georgia, serif; font-size: 120px; line-height: 1; }
.ac-method-card h3 { position: relative; margin-top: 20px; font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, Georgia, serif; font-size: clamp(28px, 3vw, 42px); font-weight: 500; line-height: 1.3; }
.ac-method-title-line { display: block; white-space: nowrap; }
html[lang="en"] .ac-method-card h3 { font-size: clamp(29px, 2.55vw, 36px); }
.ac-method-copy { position: relative; max-width: 560px; margin-top: 22px; color: #53635d; font-size: 15px; line-height: 1.9; }
.ac-method-screen { position: relative; width: min(100%, 420px); margin: 34px auto 0; }
.ac-method-screen img { display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 24px rgba(11,36,31,.16)); }
.ac-blueprint-visual { position: relative; margin: 34px 0 0; padding: clamp(24px, 3vw, 36px); overflow: hidden; background: radial-gradient(circle at 92% 6%, rgba(214,168,90,.14), transparent 31%), var(--ac-green); color: #f8f4eb; }
.ac-blueprint-summary { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.ac-blueprint-summary > span { max-width: 150px; color: var(--ac-gold); font-size: 12px; font-weight: 900; line-height: 1.45; letter-spacing: .16em; }
.ac-blueprint-summary strong { font-family: Georgia, serif; font-size: clamp(48px, 5vw, 68px); font-weight: 500; line-height: .85; letter-spacing: -.045em; }
.ac-blueprint-summary small { display: block; margin-top: 10px; font-family: Arial, sans-serif; font-size: 11px; font-weight: 850; letter-spacing: .16em; text-align: right; }
.ac-blueprint-spectrum { display: flex; height: 14px; margin-top: 28px; overflow: hidden; }
.ac-blueprint-spectrum i { flex: var(--weight) 1 0; min-width: 3px; background: var(--tone); }
.ac-blueprint-scale { display: flex; justify-content: space-between; gap: 16px; margin-top: 10px; color: rgba(248,244,235,.48); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.ac-blueprint-domains { margin: 14px 0 0; padding: 0; list-style: none; }
.ac-blueprint-domains li { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 12px 0 18px; border-bottom: 1px solid rgba(248,244,235,.12); }
.ac-blueprint-domains li > i { position: absolute; left: 0; bottom: 6px; width: var(--share); min-width: 4px; height: 3px; background: var(--tone); }
.ac-blueprint-code { color: var(--tone); font-family: Georgia, serif; font-size: 17px; }
.ac-blueprint-name { min-width: 0; font-size: 13px; font-weight: 760; line-height: 1.35; }
.ac-blueprint-domains strong { color: #f8f4eb; font-size: 13px; font-weight: 850; white-space: nowrap; }
.ac-blueprint-domains strong small { margin-left: 4px; color: rgba(248,244,235,.52); font-size: 11px; font-weight: 700; }
.ac-blueprint-visual figcaption { margin-top: 20px; color: rgba(248,244,235,.58); font-size: 12px; line-height: 1.7; }
.ac-method-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-bottom: 1px solid rgba(11,36,31,.2); }
.ac-method-strip span { min-height: 76px; display: grid; place-items: center; padding: 16px; color: #5c6c66; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-align: center; }
.ac-method-strip span + span { border-left: 1px solid rgba(11,36,31,.2); }

.ac-apps-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.ac-app-card { position: relative; min-height: 820px; display: grid; grid-template-columns: 1fr; gap: 24px; padding: clamp(30px, 3vw, 46px); border: 1px solid rgba(248,244,235,.13); overflow: hidden; background: rgba(255,255,255,.035); }
.ac-app-card::after { content: attr(data-code); position: absolute; left: -10px; bottom: -58px; color: rgba(255,255,255,.035); font-family: Georgia, serif; font-size: 180px; line-height: 1; pointer-events: none; }
.ac-app-copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; }
.ac-app-title { margin-top: 16px; font-family: Georgia, serif; font-size: clamp(27px, 2vw, 34px); font-weight: 500; line-height: 1.16; }
.ac-app-title-line { display: block; white-space: nowrap; }
html[lang="en"] .ac-app-title { font-size: clamp(27px, 2vw, 34px); }
.ac-app-subtitle { margin-top: 15px; color: rgba(248,244,235,.72); font-size: 16px; }
.ac-app-profile { margin-top: 18px; color: rgba(248,244,235,.62); font-size: 14px; line-height: 1.75; }
.ac-app-stats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 20px; width: 100%; margin-top: 34px; }
.ac-app-stats div { padding: 16px 0; border-top: 1px solid rgba(248,244,235,.14); }
.ac-app-stats strong { display: block; font-family: Georgia, serif; font-size: 30px; font-weight: 500; }
.ac-app-stats span { display: block; margin-top: 4px; color: rgba(248,244,235,.58); font-size: 12px; letter-spacing: .09em; }
.ac-app-card .ac-button { margin-top: auto; }
.ac-review-note { display: block; margin-top: 10px; color: var(--ac-gold); font-size: 12px; font-weight: 800; }
.ac-app-image { position: relative; z-index: 2; align-self: end; display: flex; justify-content: center; margin-top: 12px; }
.ac-app-image img { width: min(82%, 230px); max-height: 500px; object-fit: contain; object-position: bottom center; filter: drop-shadow(0 28px 34px rgba(0,0,0,.25)); }

.ac-common-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid rgba(11,36,31,.22); border-bottom: 1px solid rgba(11,36,31,.22); }
.ac-common-item { min-height: 220px; display: flex; flex-direction: column; justify-content: center; padding: 26px; }
.ac-common-item + .ac-common-item { border-left: 1px solid rgba(11,36,31,.22); }
.ac-common-item strong { font-family: Georgia, serif; font-size: clamp(40px, 4.6vw, 68px); font-weight: 500; line-height: 1; }
.ac-common-item span { margin-top: 16px; color: #60706a; font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.ac-note { margin-top: 28px; color: #60706a; font-size: 13px; line-height: 1.8; }

.ac-final { text-align: center; }
.ac-final h2 { max-width: 12ch; margin: 0 auto; font-size: clamp(52px, 7vw, 100px); line-height: 1.1; }
.ac-final h2 span { color: var(--ac-gold); }
.ac-final-title-line { display: block; white-space: nowrap; }
html[lang="ja"] .ac-final h2 { max-width: none; }
.ac-final .ac-actions { justify-content: center; margin-top: 44px; }
.ac-disclaimer { max-width: 780px; margin: 36px auto 0; color: rgba(248,244,235,.52); font-size: 12px; line-height: 1.8; }

[data-ac-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.16,1,.3,1); }
[data-ac-reveal].is-visible { opacity: 1; transform: none; }

@keyframes ac-rotate { to { transform: rotate(360deg); } }
@keyframes ac-float { to { transform: translateY(-10px); } }

@media (max-width: 1080px) {
  .ac-hero-grid { grid-template-columns: 1fr 440px; gap: 36px; }
  .ac-apps-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ac-app-card { min-height: 820px; }
  .ac-app-card:last-child { grid-column: 1 / -1; }
  .ac-app-image { justify-content: center; }
}

@media (max-width: 820px) {
  .ac-hero { min-height: auto; }
  .ac-hero-grid { grid-template-columns: 1fr; padding-block: 74px 58px; }
  .ac-hero h1 { max-width: none; font-size: clamp(48px, 11vw, 66px); }
  .ac-topology { min-height: 410px; }
  .ac-topology-node { min-width: 104px; min-height: 64px; font-size: 17px; }
  .ac-section-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
  .ac-shift { grid-template-columns: 1fr; }
  .ac-shift-arrow { transform: rotate(90deg); }
  .ac-role-map { grid-template-columns: 1fr; }
  .ac-role + .ac-role { border-left: 0; border-top: 1px solid rgba(11,36,31,.22); }
  .ac-role-intro { min-height: auto; }
  .ac-reality-grid { grid-template-columns: 1fr; }
  .ac-retake-panel { grid-template-columns: 1fr; }
  .ac-method-grid { grid-template-columns: 1fr; }
  .ac-apps-grid { grid-template-columns: 1fr; }
  .ac-app-card { min-height: 700px; grid-template-columns: minmax(0,1fr) minmax(180px,.72fr); }
  .ac-app-card:last-child { grid-column: auto; }
  .ac-common-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ac-common-item:nth-child(3) { border-left: 0; border-top: 1px solid rgba(11,36,31,.22); }
  .ac-common-item:nth-child(4) { border-top: 1px solid rgba(11,36,31,.22); }
}

@media (max-width: 560px) {
  .ac-hero-grid { padding-top: 56px; }
  .ac-breadcrumb { margin-bottom: 24px; }
  .ac-hero h1 { max-width: none; font-size: clamp(41px, 11.2vw, 50px); line-height: 1.08; }
  .ac-hero-lead { font-size: 15px; }
  .ac-actions { display: grid; }
  .ac-button { width: 100%; }
  .ac-topology { min-height: 350px; }
  .ac-topology-core { width: 94px; font-size: 16px; }
  .ac-topology-node { min-width: 88px; min-height: 56px; padding: 8px 10px; border-radius: 14px; font-size: 15px; }
  .ac-node-1 { left: 0; top: 12%; }
  .ac-node-2 { right: 0; top: 12%; }
  .ac-node-3 { left: 0; bottom: 12%; }
  .ac-node-4 { right: 0; bottom: 12%; }
  .ac-section { padding: 84px 0; }
  .ac-section-heading { max-width: none; font-size: 40px; line-height: 1.15; }
  .ac-section-heading-wide { font-size: 34px; }
  .ac-shift-stage { min-height: auto; padding: 28px 22px; }
  .ac-shift-stage strong { margin-top: 32px; font-size: 30px; }
  .ac-shift-new { grid-template-columns: 1fr; }
  .ac-role { padding-inline: 4px; }
  .ac-exam-meta { font-size: 12px; }
  .ac-reality-facts { grid-template-columns: 1fr; }
  .ac-reality-facts > div { min-height: 140px; padding: 24px 20px; }
  .ac-exam-spec-row { grid-template-columns: 1fr auto; min-height: 88px; }
  .ac-exam-spec-row span { grid-column: 1; grid-row: 2; padding-bottom: 14px; }
  .ac-exam-spec-row strong { grid-column: 2; grid-row: 1 / span 2; }
  .ac-retake-panel { margin-top: 48px; padding: 28px 20px; }
  .ac-retake-steps { gap: 7px; }
  .ac-retake-steps b { font-size: 38px; }
  .ac-retake-copy > p { font-size: 14px; }
  .ac-method-card { min-height: auto; padding: 34px 22px 38px; }
  .ac-method-card h3 { font-size: 27px; }
  html[lang="en"] .ac-method-card h3 { font-size: 25px; }
  .ac-method-screen { width: min(100%, 350px); margin-top: 30px; }
  .ac-blueprint-visual { margin-top: 30px; padding: 24px 18px; }
  .ac-blueprint-summary strong { font-size: 50px; }
  .ac-blueprint-domains li { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; }
  .ac-method-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ac-method-strip span:nth-child(3) { border-left: 0; border-top: 1px solid rgba(11,36,31,.2); }
  .ac-method-strip span:nth-child(4) { border-top: 1px solid rgba(11,36,31,.2); }
  .ac-app-card { min-height: auto; grid-template-columns: 1fr; padding: 28px 22px; }
  .ac-app-title { font-size: 30px; white-space: nowrap; }
  html[lang="en"] .ac-app-title { font-size: 26px; }
  .ac-app-card .ac-button { margin-top: 30px; }
  .ac-app-image { margin-top: 34px; }
  .ac-app-image img { width: min(78%, 250px); max-height: 520px; }
  .ac-common-item { min-height: 170px; padding: 18px 16px; }
  .ac-common-item strong { font-size: clamp(37px, 11vw, 52px); }
  .ac-final h2 { max-width: none; font-size: 37px; }
  html[lang="ja"] .ac-final h2 { font-size: 35px; }
}

@media (prefers-reduced-motion: reduce) {
  .ac-topology::before,
  .ac-topology::after,
  .ac-topology-node { animation: none; }
  [data-ac-reveal] { opacity: 1; transform: none; transition: none; }
  .ac-button { transition: none; }
}
