.technology-section { position: relative; isolation: isolate; overflow: clip; background: #fafbf9; color: #1d2821; }
.technology-stage { position: relative; padding: 94px 32px 88px; }
.technology-scene { position: relative; width: 100%; }
.technology-copy { position: relative; z-index: 10; margin: 0 auto; width: min(680px, 90%); text-align: center; }
.technology-title { margin: 0; font-size: clamp(36px, 4.4vw, 64px); line-height: 1.1; letter-spacing: -.055em; font-weight: 520; text-wrap: balance; }
.technology-line { display: block; }
.technology-line:last-child { color: #1e6246; }
.technology-word { display: inline-block; }
.technology-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; justify-content: center; gap: 35px; width: min(1000px, 100%); margin: 65px auto 0; padding: 0; list-style: none; }
.technology-logo { min-width: 0; }
.technology-icon { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; width: 100%; }
.technology-icon img { display: block; width: 100px; height: 88px; object-fit: contain; }
.technology-icon > span { color: #38483e; font-size: 16px; line-height: 1.1; font-weight: 520; letter-spacing: -.025em; }
.technology-section[data-technology-scroll] { height: 460svh; }
[data-technology-scroll] .technology-stage { position: sticky; top: var(--site-header-height); height: calc(100svh - var(--site-header-height)); padding: 0; overflow: clip; }
[data-technology-scroll] .technology-scene { position: absolute; inset: 0; height: 100%; }
[data-technology-scroll] .technology-copy { position: absolute; top: 50%; left: 50%; width: min(680px, 76%); margin: 0; transform: translate(-50%, -50%); }
[data-technology-scroll] .technology-word { opacity: .12; }
[data-technology-scroll] .technology-logos { display: block; position: absolute; inset: 0; width: 100%; margin: 0; }
[data-technology-scroll] .technology-logo { position: absolute; top: 50%; left: 50%; width: 280px; height: 195px; opacity: 0; }
[data-technology-scroll] .technology-icon { height: 100%; gap: 18px; }
[data-technology-scroll] .technology-icon img { width: 170px; height: 135px; }
[data-technology-scroll] .technology-icon > span { color: #263d30; font-size: 24px; font-weight: 540; }
[data-technology-scroll][data-technology-visible] .technology-logo { will-change: transform, opacity; }
@media (max-width: 1023px) and (min-width: 700px) {
  [data-technology-scroll] .technology-title { font-size: clamp(32px, 4.4vw, 45px); }
}
@media (max-width: 699px), (max-height: 559px) {
  .technology-stage { padding: 64px 24px 60px; }
  .technology-title { font-size: clamp(28px, 6.2vw, 38px); }
  .technology-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 16px; margin-top: 48px; }
  .technology-logo:last-child { grid-column: 2; }
  .technology-icon { gap: 12px; }
  .technology-icon img { width: 66px; height: 60px; }
  .technology-icon > span { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .technology-word { filter: none; transform: none; opacity: 1; }
}
