.research-subnav { position: sticky; z-index: 50; top: 90px; border-bottom: 1px solid var(--border-light); background: rgba(255, 255, 255, 0.96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.research-subnav__inner { display: grid; grid-template-columns: repeat(3, 1fr); }
.research-subnav a { display: flex; min-height: 64px; align-items: center; justify-content: center; gap: 12px; border-right: 1px solid var(--border-light); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; transition: color 220ms ease, background-color 220ms ease; }
.research-subnav a:first-child { border-left: 1px solid var(--border-light); }
.research-subnav a span { color: var(--color-green-deep); }
.research-subnav a:hover, .research-subnav a:focus-visible { background: var(--color-green-soft); color: var(--color-green-deep); }

.research-information__visual { position: relative; min-height: 590px; overflow: hidden; border-radius: 12px; background: var(--color-black); }
.research-information__visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,9,8,.12), rgba(8,9,8,.82)), radial-gradient(circle at 58% 38%, rgba(134,184,29,.16), transparent 36%); content: ""; }
.research-information__visual > img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.06) brightness(.58); }
.research-information__visual > div { position: absolute; z-index: 2; right: 34px; bottom: 32px; left: 34px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); color: var(--color-white); }
.research-information__visual > div p { color: var(--color-green); font-size: .7rem; font-weight: 600; letter-spacing: .17em; }
.research-information__visual > div span { display: block; margin-top: 7px; color: #b8bdb6; font-size: .75rem; letter-spacing: .06em; }

.research-principles { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--border-light); }
.research-principles article { min-height: 290px; padding: 30px 27px; border-right: 1px solid var(--border-light); background: rgba(255,255,255,.45); }
.research-principles article:first-child { border-left: 1px solid var(--border-light); }
.research-principles article > span { color: var(--color-green); font-size: 2.7rem; font-weight: 500; line-height: 1; }
.research-principles h3 { margin-top: 66px; font-size: 1rem; }
.research-principles p { margin-top: 13px; color: var(--color-grey-dark); font-size: .86rem; line-height: 1.72; }

.research-lab { position: relative; overflow: hidden; background: var(--color-black); color: var(--color-white); }
.research-lab__background { position: absolute; inset: 0; }
.research-lab__background img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(.2); opacity: .48; }
.research-lab__background::after { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(8,9,8,.97), rgba(8,9,8,.83)), radial-gradient(circle at 76% 45%, rgba(134,184,29,.11), transparent 34%); content: ""; }
.research-lab__grid { display: grid; position: relative; z-index: 1; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(60px, 9vw, 135px); }
.research-lab__content h2 { font-size: clamp(2.55rem, 4.7vw, 4.7rem); font-weight: 500; letter-spacing: -.058em; line-height: .95; }
.research-lab__content h2 em { color: var(--color-green); font-style: normal; }
.research-lab__content > p:not(.section-label):not(.research-lab__notice) { margin-top: 25px; color: #b3b8b1; line-height: 1.8; }
.research-lab__content ul { margin-top: 29px; border-top: 1px solid var(--border-dark); }
.research-lab__content li { display: grid; grid-template-columns: 35px 1fr; gap: 13px; padding: 15px 0; border-bottom: 1px solid var(--border-dark); color: #c4c8c2; font-size: .87rem; }
.research-lab__content li span { color: var(--color-green); }
.research-lab__notice { margin-top: 22px; padding: 14px 16px; border: 1px solid rgba(134,184,29,.16); border-radius: 8px; background: rgba(134,184,29,.045); color: #959b93; font-size: .73rem; line-height: 1.6; }

.research-document { position: relative; overflow: hidden; padding: clamp(29px, 4.2vw, 52px); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(246,248,243,.97); box-shadow: 18px 18px 0 rgba(134,184,29,.12); color: var(--color-black); }
.research-document__image { position: absolute; inset: 0; opacity: .085; }
.research-document__image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.research-document > *:not(.research-document__image) { position: relative; z-index: 1; }
.research-document header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 24px; border-bottom: 1px solid var(--border-light); }
.research-document header p { font-size: .82rem; font-weight: 700; letter-spacing: .12em; }
.research-document header span { display: block; margin-top: 4px; color: var(--color-grey-dark); font-size: .65rem; text-transform: uppercase; }
.research-document header b { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--color-green); font-size: .78rem; }
.research-document h3 { margin-top: 34px; font-size: 1.55rem; letter-spacing: -.03em; }
.research-document dl { display: grid; grid-template-columns: 1fr 1fr; margin-top: 24px; border-top: 1px solid var(--border-light); }
.research-document dl div { padding: 16px 0; border-bottom: 1px solid var(--border-light); }
.research-document dl div:nth-child(even) { padding-left: 22px; border-left: 1px solid var(--border-light); }
.research-document dt { color: var(--color-green-deep); font-size: .61rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.research-document dd { margin-top: 5px; color: var(--color-grey-dark); font-size: .78rem; }
.research-document footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; }
.research-document footer span { color: var(--color-grey); font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.research-document footer a { color: var(--color-green-deep); font-size: .67rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

.research-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.research-category-grid > a { display: grid; position: relative; min-height: 250px; padding: 26px; grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid var(--border-light); border-radius: 10px; background: linear-gradient(145deg, #fff, #edf1ea); transition: border-color 300ms ease, transform 330ms var(--ease-premium), box-shadow 300ms ease; }
.research-category-grid > a::before { position: absolute; right: -18%; bottom: -38%; width: 190px; aspect-ratio: 1; border: 1px solid rgba(103,143,20,.13); border-radius: 50%; content: ""; box-shadow: inset 0 0 50px rgba(134,184,29,.055); }
.research-category-grid > a:hover { border-color: rgba(103,143,20,.48); box-shadow: 0 18px 40px rgba(25,31,22,.07); transform: translateY(-3px); }
.research-category-grid > a > span { color: var(--color-green); font-size: 2.1rem; font-weight: 500; }
.research-category-grid > a div { align-self: end; position: relative; z-index: 1; }
.research-category-grid p { color: var(--color-green-deep); font-size: .61rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.research-category-grid h3 { max-width: 250px; margin-top: 7px; font-size: 1.1rem; }
.research-category-grid b { position: absolute; right: 24px; bottom: 23px; color: var(--color-green-deep); font-weight: 500; transition: transform 260ms ease; }
.research-category-grid > a:hover b { transform: translate(3px,-3px); }

.page-research .desktop-nav__item.has-dropdown > a { color: var(--color-green); }
.page-research .desktop-nav__item.has-dropdown > a::after { transform: scaleX(1); }
.page-research .mobile-menu a.is-current { color: var(--color-green); }

@media (max-width: 980px) {
  .research-lab__grid { grid-template-columns: 1fr; gap: 55px; }
  .research-lab__content { max-width: 700px; }
  .research-principles { grid-template-columns: repeat(2, 1fr); }
  .research-principles article:nth-child(3) { border-top: 1px solid var(--border-light); border-left: 1px solid var(--border-light); }
  .research-principles article:nth-child(4) { border-top: 1px solid var(--border-light); }
  .research-category-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .research-subnav { top: 62px; overflow-x: auto; scrollbar-width: none; }
  .research-subnav::-webkit-scrollbar { display: none; }
  .research-subnav__inner { width: max-content; min-width: 100%; grid-template-columns: repeat(3, auto); }
  .research-subnav a { min-width: 205px; padding-inline: 18px; }
  .research-information__visual { min-height: 440px; }
  .research-principles { grid-template-columns: 1fr; }
  .research-principles article, .research-principles article:first-child, .research-principles article:nth-child(3) { min-height: 220px; border: 1px solid var(--border-light); border-bottom: 0; }
  .research-principles article:last-child { border-bottom: 1px solid var(--border-light); }
  .research-principles h3 { margin-top: 42px; }
  .research-lab__content h2 { font-size: clamp(2.35rem,10vw,3.45rem); }
  .research-document { box-shadow: 10px 10px 0 rgba(134,184,29,.12); }
  .research-document dl { grid-template-columns: 1fr; }
  .research-document dl div:nth-child(even) { padding-left: 0; border-left: 0; }
  .research-document footer { align-items: flex-start; flex-direction: column; }
  .research-category-grid { grid-template-columns: 1fr; }
  .research-category-grid > a { min-height: 220px; }
}
