.research-page .primary-nav a[aria-current="page"] { color: var(--violet); }

.research-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 77% 23%, rgba(152, 105, 239, 0.32), transparent 24%),
    radial-gradient(circle at 22% 96%, rgba(106, 56, 207, 0.28), transparent 30%),
    linear-gradient(118deg, #1d0b4e 0%, #321077 49%, #4f1eaa 100%);
}

.research-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size: 25px 25px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 68%);
  opacity: 0.19;
}

.research-hero-orbit {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  pointer-events: none;
}

.research-hero-orbit-one {
  width: 545px;
  height: 545px;
  top: -318px;
  left: 27%;
  box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.035), 0 0 0 70px rgba(255, 255, 255, 0.018);
}

.research-hero-orbit-two {
  width: 320px;
  height: 320px;
  right: -132px;
  bottom: -174px;
  box-shadow: 0 0 0 28px rgba(255, 255, 255, 0.03);
}

.research-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(380px, 0.96fr);
  gap: clamp(42px, 7vw, 105px);
  align-items: center;
  min-height: 570px;
  padding: 70px 0;
}

.research-hero-copy { max-width: 660px; }
.research-hero .eyebrow { color: #dfceff; }
.research-hero h1 { max-width: 660px; margin-bottom: 20px; color: #fff; font-size: clamp(3rem, 5vw, 4.55rem); }
.research-hero h1 span { color: #e6d8ff; }
.research-hero-copy > p { color: rgba(255, 255, 255, 0.9); font-size: var(--text-body-large); font-weight: 700; line-height: 1.6; }
.research-hero-copy .research-hero-lead { max-width: 670px; margin-bottom: 12px; color: #fff; font-size: clamp(1.2rem, 1.68vw, 1.38rem); font-weight: 800; line-height: 1.53; }
.research-hero-copy .button-row { margin-top: 28px; }
.research-hero-copy .button-secondary { color: #fff; border-color: rgba(255, 255, 255, 0.64); background: rgba(255, 255, 255, 0.07); }
.research-hero-copy .button-secondary:hover { background: rgba(255, 255, 255, 0.14); }

.research-hero-visual {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 22px;
  box-shadow: 0 22px 46px rgba(11, 2, 48, 0.36);
  background: #2d106b;
  aspect-ratio: 1.04 / 0.9;
}

.research-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(22, 7, 67, 0.36), transparent 56%, rgba(231, 212, 255, 0.12));
}

.research-hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 59% center; }
.research-hero-visual figcaption {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 17px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 7px;
  color: #fff;
  background: rgba(27, 8, 74, 0.62);
  backdrop-filter: blur(7px);
  font-size: var(--text-caption);
  font-weight: 900;
}
.research-hero-visual figcaption .lucide { width: 17px; height: 17px; color: #e4d4ff; }

.research-reading-note { border-bottom: 1px solid #e1d7f6; color: #39235f; background: #f2edfd; }
.research-reading-note-inner { display: flex; gap: 15px; align-items: flex-start; max-width: 1060px; padding-top: 19px; padding-bottom: 19px; }
.research-reading-note-icon { flex: 0 0 auto; display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; color: #fff; background: #5b24bc; }
.research-reading-note-icon .lucide { width: 20px; height: 20px; stroke-width: 2.3; }
.research-reading-note strong { display: block; margin-bottom: 1px; color: #4d1fab; font-size: var(--text-body); font-weight: 900; line-height: 1.35; }
.research-reading-note p { max-width: 890px; margin: 0; color: #4f4669; font-size: var(--text-ui); font-weight: 700; line-height: 1.5; }

.research-intro { padding-bottom: 50px; }
.research-section-heading { max-width: 805px; }
.research-section-heading h2, .research-topic h2, .research-closing h2 { margin-bottom: 14px; color: #5120af; font-size: var(--heading-section); font-weight: 900; line-height: 1.14; }
.research-section-heading > p:not(.eyebrow) { max-width: 780px; margin-bottom: 0; color: #504967; font-size: var(--text-body-large); font-weight: 700; line-height: 1.6; }

.research-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.research-map-card {
  position: relative;
  display: grid;
  grid-template-columns: 46px 54px minmax(0, 1fr) 20px;
  gap: 12px;
  align-items: center;
  min-height: 118px;
  padding: 20px 18px;
  border: 1px solid #e5ddf6;
  border-radius: 16px;
  color: #39235d;
  background: #fff;
  box-shadow: 0 8px 20px rgba(54, 24, 129, 0.055);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.research-map-card:hover { transform: translateY(-3px); border-color: #cbb8eb; box-shadow: 0 12px 23px rgba(54, 24, 129, 0.11); }
.research-map-number { color: #9a7ed8; font-size: var(--text-caption); font-weight: 900; letter-spacing: 0.06em; }
.research-map-icon { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 13px; color: #5a22bb; background: #f0eafd; }
.research-map-icon .lucide { width: 28px; height: 28px; stroke-width: 2.1; }
.research-map-card strong { display: block; margin-bottom: 3px; color: #43227f; font-size: var(--text-body); font-weight: 900; line-height: 1.27; }
.research-map-card small { display: block; color: #665d7b; font-size: var(--text-caption); font-weight: 700; line-height: 1.4; }
.research-map-arrow { width: 18px; height: 18px; color: #5b24bb; }

.research-intent {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  margin-top: 25px;
  padding: 25px 27px;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(113deg, #28105f 0%, #441695 58%, #6025bb 100%);
  box-shadow: 0 12px 26px rgba(48, 18, 119, 0.14);
}
.research-intent::after { content: ""; position: absolute; width: 215px; height: 215px; right: -118px; top: -132px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 50%; box-shadow: 0 0 0 25px rgba(255, 255, 255, 0.03); }
.research-intent > * { position: relative; z-index: 1; }
.research-intent-icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(255, 255, 255, 0.27); border-radius: 50%; color: #fff; background: rgba(255, 255, 255, 0.1); }
.research-intent-icon .lucide { width: 32px; height: 32px; stroke-width: 2.05; }
.research-intent .eyebrow { margin-bottom: 4px; color: #dfceff; }
.research-intent h3 { margin: 0 0 5px; color: #fff; font-size: var(--heading-card); font-weight: 900; line-height: 1.24; }
.research-intent p:not(.eyebrow) { max-width: 730px; margin: 0; color: rgba(255, 255, 255, 0.89); font-size: var(--text-ui); font-weight: 700; line-height: 1.52; }
.research-intent .button { min-width: 190px; }

.research-topic { position: relative; padding: 68px 0; scroll-margin-top: 100px; }
.research-topic-layout { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(395px, 1.05fr); gap: 37px clamp(44px, 7vw, 108px); align-items: center; }
.research-topic-copy { max-width: 630px; }
.topic-kicker { display: flex; gap: 11px; align-items: center; margin-bottom: 13px; }
.topic-kicker > span { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #6b35cf, #45118f); font-size: var(--text-caption); font-weight: 900; }
.topic-kicker .eyebrow { margin: 0; }
.research-topic h2 { max-width: 600px; }
.research-topic-copy > p:not(.eyebrow) { color: #514a68; font-size: var(--text-body); font-weight: 700; line-height: 1.62; }
.research-topic-copy .topic-lead { margin-bottom: 12px; color: #312754; font-size: var(--text-body-large); font-weight: 800; line-height: 1.57; }

.satellite-topic { overflow: hidden; background: linear-gradient(133deg, #f5f1fe 0%, #fff 52%, #f0e9fc 100%); }
.satellite-topic::after, .minicircle-topic::after, .regulatory-topic::after { content: ""; position: absolute; z-index: 0; pointer-events: none; border: 1px solid rgba(93, 37, 193, 0.11); border-radius: 50%; }
.satellite-topic::after { width: 370px; height: 370px; right: -190px; top: -165px; box-shadow: 0 0 0 32px rgba(93, 37, 193, 0.025), 0 0 0 64px rgba(93, 37, 193, 0.016); }
.research-topic .container { position: relative; z-index: 1; }

.research-process { position: relative; overflow: hidden; padding: 29px; border: 1px solid rgba(102, 48, 202, 0.19); border-radius: 19px; color: #fff; background: linear-gradient(135deg, #321075 0%, #5120ad 62%, #6b32c9 100%); box-shadow: 0 18px 35px rgba(48, 18, 119, 0.16); }
.research-process::after { content: ""; position: absolute; width: 245px; height: 245px; top: -145px; right: -116px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 50%; box-shadow: 0 0 0 25px rgba(255, 255, 255, 0.03); }
.process-title { position: relative; z-index: 1; display: flex; gap: 9px; align-items: center; margin-bottom: 25px; color: #e4d6ff; font-size: var(--text-ui); font-weight: 900; }
.process-title .lucide { width: 22px; height: 22px; }
.process-steps { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 36px 1fr 36px 1fr; align-items: center; }
.process-step { text-align: center; }
.process-icon { display: grid; place-items: center; width: 55px; height: 55px; margin: 0 auto 14px; border-radius: 50%; color: #fff; background: rgba(255, 255, 255, 0.13); border: 1px solid rgba(255, 255, 255, 0.2); }
.process-icon .lucide { width: 29px; height: 29px; stroke-width: 2.05; }
.process-step strong { display: block; color: #fff; font-size: var(--text-ui); font-weight: 900; line-height: 1.3; }
.process-step small { display: block; margin-top: 5px; color: rgba(255, 255, 255, 0.83); font-size: var(--text-caption); font-weight: 700; line-height: 1.42; }
.process-connector { height: 1px; margin: 0 6px 45px; background: rgba(255, 255, 255, 0.43); }
.process-connector::after { content: ""; display: block; width: 7px; height: 7px; margin: -3px 0 0 auto; border-top: 1px solid rgba(255, 255, 255, 0.75); border-right: 1px solid rgba(255, 255, 255, 0.75); transform: rotate(45deg); }

.research-lens-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.research-lens { min-height: 257px; padding: 26px; border: 1px solid #e4dcf5; border-radius: 17px; background: #fff; box-shadow: 0 8px 20px rgba(47, 19, 114, 0.055); }
.research-lens-icon { display: grid; place-items: center; width: 51px; height: 51px; margin-bottom: 18px; border-radius: 14px; color: #5620b6; background: #f0eafd; }
.research-lens-icon .lucide { width: 29px; height: 29px; stroke-width: 2.1; }
.research-lens h3 { margin: 0 0 8px; color: #3d276c; font-size: var(--heading-card); font-weight: 900; line-height: 1.22; }
.research-lens p { margin: 0; color: #59516e; font-size: var(--text-ui); font-weight: 700; line-height: 1.56; }
.research-lens sup { margin-left: 2px; font-size: 0.78em; line-height: 0; }
.research-lens sup a { color: #5420b5; font-weight: 900; text-decoration: underline; text-underline-offset: 2px; }
.lens-unknown { border-color: #e8d9b9; background: linear-gradient(140deg, #fffdf7, #fff); }
.lens-unknown .research-lens-icon { color: #a36a12; background: #fff3dc; }

.topic-sources { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px 13px; align-items: center; padding: 16px 18px; border: 1px solid #e4dcf5; border-radius: 12px; background: rgba(255, 255, 255, 0.76); }
.topic-sources > p { display: flex; gap: 8px; align-items: center; margin: 0 4px 0 0; color: #46248a; font-size: var(--text-ui); line-height: 1.4; }
.topic-sources > p .lucide { width: 20px; height: 20px; }
.topic-sources a { display: inline-flex; gap: 6px; align-items: center; color: #5221b0; font-size: var(--text-caption); font-weight: 900; line-height: 1.4; }
.topic-sources a:hover { color: #2f0d76; text-decoration: underline; text-underline-offset: 3px; }
.topic-sources a .lucide { width: 15px; height: 15px; }

.minicircle-topic { overflow: hidden; background: #fff; }
.minicircle-topic::after { width: 430px; height: 430px; left: -218px; bottom: -245px; box-shadow: 0 0 0 34px rgba(93, 37, 193, 0.024), 0 0 0 68px rgba(93, 37, 193, 0.015); }
.minicircle-topic .research-topic-copy { order: 2; }
.minicircle-topic .minicircle-visual { order: 1; }
.minicircle-topic .research-lens-grid, .minicircle-topic .topic-sources { order: 3; }

.minicircle-visual { position: relative; display: grid; place-items: center; min-height: 367px; overflow: hidden; padding: 35px; border: 1px solid rgba(101, 48, 200, 0.19); border-radius: 19px; background: radial-gradient(circle at 51% 40%, rgba(176, 139, 244, 0.2), transparent 25%), linear-gradient(138deg, #efe8fc 0%, #fbfaff 62%, #e5d9f8 100%); }
.minicircle-loop { position: relative; z-index: 2; display: grid; place-items: center; width: 145px; height: 145px; margin: 0 0 138px -84px; border: 18px solid #6a32ce; border-radius: 50%; color: #5020af; background: rgba(255, 255, 255, 0.76); box-shadow: 0 0 0 12px rgba(117, 69, 212, 0.12), 0 0 45px rgba(85, 32, 183, 0.16); transform: rotate(-12deg); }
.minicircle-loop .lucide { width: 66px; height: 66px; stroke-width: 1.75; transform: rotate(12deg); }
.minicircle-orbit { position: absolute; border: 1px dashed rgba(89, 33, 188, 0.31); border-radius: 50%; }
.minicircle-orbit-one { width: 255px; height: 255px; top: 26px; left: 43px; transform: rotate(31deg); }
.minicircle-orbit-two { width: 345px; height: 168px; top: 60px; left: 3px; transform: rotate(-28deg); }
.minicircle-copy { position: absolute; z-index: 3; right: 26px; bottom: 26px; width: min(68%, 285px); padding: 16px 17px; border: 1px solid rgba(104, 52, 199, 0.19); border-radius: 12px; color: #3f246f; background: rgba(255, 255, 255, 0.86); box-shadow: 0 8px 18px rgba(61, 25, 137, 0.09); }
.minicircle-copy .eyebrow { margin-bottom: 5px; font-size: 0.72rem; }
.minicircle-copy strong { display: block; margin-bottom: 5px; color: #49218f; font-size: var(--text-ui); font-weight: 900; line-height: 1.3; }
.minicircle-copy span { display: block; color: #625875; font-size: var(--text-caption); font-weight: 700; line-height: 1.45; }

.regulatory-topic { overflow: hidden; background: linear-gradient(135deg, #f4f0fd 0%, #fff 53%, #f0eafb 100%); }
.regulatory-topic::after { width: 410px; height: 410px; right: -230px; bottom: -195px; box-shadow: 0 0 0 35px rgba(93, 37, 193, 0.025), 0 0 0 70px rgba(93, 37, 193, 0.014); }

.regulation-visual { position: relative; overflow: hidden; padding: 29px; border: 1px solid rgba(99, 42, 197, 0.17); border-radius: 19px; background: #fff; box-shadow: 0 12px 25px rgba(50, 19, 120, 0.07); }
.regulation-visual::before { content: ""; position: absolute; width: 170px; height: 170px; right: -80px; top: -90px; border: 1px solid rgba(98, 39, 196, 0.12); border-radius: 50%; box-shadow: 0 0 0 24px rgba(98, 39, 196, 0.025); }
.regulation-visual-label { position: relative; z-index: 1; margin: 0 0 22px; color: #5a25b5; font-size: var(--text-ui); font-weight: 900; }
.regulation-flow { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 23px 1fr 23px 1fr 23px 1fr; align-items: center; }
.regulation-node { text-align: center; }
.regulation-node .lucide { width: 39px; height: 39px; margin: 0 auto 9px; color: #5720b6; stroke-width: 2.05; }
.regulation-node strong { display: block; color: #422271; font-size: var(--text-ui); font-weight: 900; line-height: 1.3; }
.regulation-node small { display: block; margin-top: 3px; color: #746b85; font-size: var(--text-caption); font-weight: 700; line-height: 1.35; }
.regulation-arrow { height: 1px; margin: 0 5px 35px; background: #bca6e6; }
.regulation-arrow::after { content: ""; display: block; width: 7px; height: 7px; margin: -3px 0 0 auto; border-top: 1px solid #7250ba; border-right: 1px solid #7250ba; transform: rotate(45deg); }
.regulation-question { position: relative; z-index: 1; display: flex; gap: 9px; align-items: flex-start; margin: 28px 0 0; padding: 13px; border-radius: 10px; color: #55446e; background: #f6f2fe; font-size: var(--text-caption); font-weight: 800; line-height: 1.48; }
.regulation-question .lucide { flex: 0 0 auto; width: 19px; height: 19px; color: #a16a13; }

.research-library { grid-column: 1 / -1; padding: 28px; border: 1px solid #dfd4f2; border-radius: 18px; background: rgba(255, 255, 255, 0.78); box-shadow: 0 8px 20px rgba(53, 23, 123, 0.05); }
.research-library-heading { display: flex; gap: 13px; align-items: center; margin-bottom: 24px; }
.research-library-heading > .lucide { flex: 0 0 auto; width: 39px; height: 39px; color: #5821ba; }
.research-library-heading h3 { margin: 0 0 2px; color: #482280; font-size: var(--heading-card); font-weight: 900; line-height: 1.25; }
.research-library-heading p { margin: 0; color: #675e78; font-size: var(--text-ui); font-weight: 700; line-height: 1.45; }
.reference-list { display: grid; grid-auto-flow: column; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(7, auto); gap: 12px 40px; margin: 0; padding-left: 28px; }
.reference-list li { scroll-margin-top: 110px; padding-left: 7px; color: #8f70c5; font-size: var(--text-ui); font-weight: 900; }
.reference-list a { color: #564d6c; font-size: var(--text-ui); font-weight: 700; line-height: 1.5; }
.reference-list a:hover { color: #4c1ca8; text-decoration: underline; text-underline-offset: 3px; }
.reference-list cite { color: #42305e; font-style: italic; font-weight: 800; }
.reference-note { display: flex; gap: 9px; align-items: flex-start; margin: 20px 0 0; padding-top: 17px; border-top: 1px solid #e1d7f1; color: #665c78; font-size: var(--text-caption); font-weight: 700; line-height: 1.5; }
.reference-note .lucide { flex: 0 0 auto; width: 19px; height: 19px; margin-top: 1px; color: #6a31c4; }

.research-closing { position: relative; overflow: hidden; padding: 61px 0; color: #fff; background: linear-gradient(112deg, #4c1ba6 0%, #35107e 53%, #24105e 100%); }
.research-closing::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(65deg, transparent 46%, rgba(255, 255, 255, 0.058) 46.2%, transparent 46.5%), linear-gradient(-65deg, transparent 67%, rgba(255, 255, 255, 0.034) 67.2%, transparent 67.5%); background-size: 95px 95px; opacity: 0.55; }
.research-closing::after { content: ""; position: absolute; width: 440px; height: 440px; right: -195px; top: -252px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.035), 0 0 0 70px rgba(255, 255, 255, 0.02); }
.research-closing-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(42px, 8vw, 120px); align-items: center; }
.research-closing .eyebrow { color: #ddccff; }
.research-closing h2 { max-width: 710px; margin-bottom: 13px; color: #fff; font-size: clamp(2rem, 3.35vw, 3rem); }
.research-closing p:not(.eyebrow) { max-width: 750px; margin: 0; color: rgba(255, 255, 255, 0.9); font-size: var(--text-body-large); font-weight: 700; line-height: 1.6; }
.research-closing-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }

@media (max-width: 1100px) {
  .research-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(330px, 0.88fr); gap: 42px; }
  .research-topic-layout { grid-template-columns: minmax(0, 0.98fr) minmax(350px, 1.02fr); gap: 34px 42px; }
  .research-map-card { grid-template-columns: 38px 49px minmax(0, 1fr); }
  .research-map-arrow { display: none; }
  .research-intent { grid-template-columns: 58px minmax(0, 1fr); }
  .research-intent .button { grid-column: 2; justify-self: start; }
  .reference-list { gap: 12px 30px; }
}

@media (max-width: 910px) {
  .research-hero-grid, .research-topic-layout { grid-template-columns: 1fr; }
  .research-hero-grid { min-height: 0; padding: 58px 0; }
  .research-hero-copy, .research-topic-copy { max-width: 760px; }
  .research-hero-visual { max-width: 710px; width: 100%; min-height: 350px; }
  .research-map { grid-template-columns: 1fr; max-width: 700px; }
  .research-map-card { grid-template-columns: 46px 54px minmax(0, 1fr) 20px; }
  .research-map-arrow { display: block; }
  .research-topic { padding: 55px 0; }
  .minicircle-topic .research-topic-copy { order: 1; }
  .minicircle-topic .minicircle-visual { order: 2; }
  .research-lens-grid { grid-template-columns: 1fr; }
  .research-lens { min-height: 0; }
  .reference-list { grid-auto-flow: row; grid-template-columns: 1fr; grid-template-rows: none; gap: 11px; }
  .research-closing-grid { grid-template-columns: 1fr; gap: 28px; }
  .research-closing-actions { justify-content: flex-start; }
}

@media (max-width: 640px) {
  .research-hero-grid, .research-intro, .research-topic, .research-closing { padding-top: 46px; padding-bottom: 46px; }
  .research-hero h1 { font-size: clamp(2.7rem, 12vw, 3.65rem); }
  .research-hero-copy > p, .research-hero-copy .research-hero-lead, .research-section-heading > p:not(.eyebrow), .research-topic-copy .topic-lead, .research-closing p:not(.eyebrow) { font-size: var(--text-body); }
  .research-hero-visual { min-height: 0; border-radius: 16px; aspect-ratio: 1 / 0.92; }
  .research-hero-visual figcaption { right: 12px; bottom: 12px; font-size: 0.75rem; }
  .research-reading-note-inner { gap: 11px; padding-top: 16px; padding-bottom: 16px; }
  .research-reading-note-icon { width: 32px; height: 32px; }
  .research-reading-note strong { font-size: var(--text-ui); }
  .research-reading-note p { font-size: var(--text-caption); }
  .research-map { margin-top: 27px; }
  .research-map-card { grid-template-columns: 31px 48px minmax(0, 1fr) 17px; gap: 9px; min-height: 102px; padding: 16px; }
  .research-map-icon { width: 46px; height: 46px; }
  .research-map-icon .lucide { width: 26px; height: 26px; }
  .research-intent { grid-template-columns: 1fr; gap: 15px; padding: 23px 20px; }
  .research-intent-icon { width: 52px; height: 52px; }
  .research-intent .button { grid-column: auto; justify-self: start; width: 100%; }
  .research-topic-layout { gap: 29px; }
  .research-topic h2, .research-section-heading h2 { font-size: clamp(1.75rem, 8.8vw, 2rem); }
  .research-process, .regulation-visual { padding: 23px 18px; border-radius: 15px; }
  .process-title { margin-bottom: 20px; }
  .process-steps { grid-template-columns: 1fr; gap: 11px; }
  .process-step { display: grid; grid-template-columns: 48px 1fr; column-gap: 13px; text-align: left; }
  .process-icon { grid-row: span 2; width: 46px; height: 46px; margin: 0; }
  .process-icon .lucide { width: 25px; height: 25px; }
  .process-step small { margin-top: 2px; }
  .process-connector { width: 1px; height: 16px; margin: -1px 0 -1px 23px; background: rgba(255, 255, 255, 0.43); }
  .process-connector::after { display: none; }
  .research-lens { padding: 22px; }
  .research-lens-icon { width: 47px; height: 47px; margin-bottom: 15px; }
  .topic-sources { display: grid; gap: 9px; padding: 15px; }
  .minicircle-visual { min-height: 330px; padding: 24px; border-radius: 15px; }
  .minicircle-loop { width: 118px; height: 118px; margin: -21px 0 125px -72px; border-width: 15px; }
  .minicircle-loop .lucide { width: 55px; height: 55px; }
  .minicircle-orbit-one { width: 208px; height: 208px; top: 30px; left: 22px; }
  .minicircle-orbit-two { width: 275px; height: 138px; top: 69px; left: -2px; }
  .minicircle-copy { right: 15px; bottom: 15px; width: min(72%, 270px); padding: 13px; }
  .regulation-flow { grid-template-columns: 1fr; gap: 9px; }
  .regulation-node { display: grid; grid-template-columns: 44px 1fr; column-gap: 10px; text-align: left; }
  .regulation-node .lucide { grid-row: span 2; width: 34px; height: 34px; margin: 0; }
  .regulation-node small { margin-top: 0; }
  .regulation-arrow { width: 1px; height: 14px; margin: 0 0 0 17px; background: #bca6e6; }
  .regulation-arrow::after { display: none; }
  .regulation-question { margin-top: 22px; font-size: 0.79rem; }
  .research-library { padding: 23px 18px; border-radius: 15px; }
  .research-library-heading { align-items: flex-start; }
  .research-library-heading > .lucide { width: 34px; height: 34px; }
  .research-library-heading p { font-size: var(--text-caption); }
  .research-closing-actions { width: 100%; flex-direction: column; align-items: stretch; }
  .research-closing-actions .button { width: 100%; flex: 0 0 auto; }
}

@media (max-width: 390px) {
  .research-map-card { grid-template-columns: 27px 43px minmax(0, 1fr); }
  .research-map-arrow { display: none; }
  .research-closing-actions { align-items: stretch; }
}
