.home-architecture, .home-heritage { border-top: 1px solid #38516b; padding: 38px 0; }
.home-architecture > p { max-width: 850px; }
.home-architecture-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 32px; align-items: center; margin: 32px 0; }
.home-architecture-art { margin: 0; }
.home-architecture-art img { display: block; width: 100%; height: auto; }
.home-architecture-art figcaption { text-align: center; font-size: .75rem; color: #9eb5cc; margin-top: 10px; }
.home-architecture .vp-layers { min-width: 0; margin: 0; }
.home-architecture .vp-layer-tech { display: block; margin-top: 10px; letter-spacing: .08em; }
.home-architecture .vp-layer-0 .vp-layer-tech { color: #07374b; }
.home-architecture .vp-layer { grid-template-columns: 210px minmax(0, 1fr); gap: 36px; margin-bottom: 12px; }
.home-architecture .vp-layer-face { padding: 26px 16px; border-radius: 12px; }
.home-architecture .vp-layer-face h3 { font-size: 1.35rem; }
.home-architecture .vp-layer-0 .vp-layer-face { color: #04263d; background: linear-gradient(120deg,#25bddb,#74e9ed); }
.home-architecture .vp-layer-explanation h4 { text-transform: none; font-size: 1rem; letter-spacing: 0; }
.home-architecture .vp-layer-explanation p { font-size: .93rem; }
.home-main .home-architecture-note { font-size: .85rem; padding-left: 16px; border-left: 2px solid #4597b1; }
.home-heritage { display: flex; align-items: center; }
.home-heritage figure { flex: 0 0 35%; margin: 0 42px 0 0; }
.home-heritage figure img { display: block; width: 100%; height: auto; }
.home-heritage figcaption { text-align: center; font-size: .76rem; color: #9eb5cc; }
.home-heritage > div { flex: 1; min-width: 0; }
.home-heritage p { font-size: .95rem; }
.home-main .home-independent { font-size: .82rem; }
.home-v4 .home-follow { margin-top: 0; }
.home-v4 .home-follow section:first-child { padding-right: 0; max-width: 840px; }
.home-v4 .home-follow .home-links { display: flex; flex-wrap: wrap; }
.home-v4 .home-follow .home-links li { margin-right: 26px; }
@media (max-width: 980px) {
  .home-architecture-layout { grid-template-columns: 1fr; }
  .home-architecture-art { width: 180px; margin: 0 auto; }
}
@media (max-width: 640px) {
  .home-architecture, .home-heritage { padding: 28px 0; }
  .home-architecture .vp-layer { grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
  .home-architecture .vp-layer-face { padding: 20px 12px; }
  .home-architecture .vp-layer-face:after { display: none; }
  .home-architecture .vp-layer-explanation { padding: 0 4px; }
  .home-heritage { display: flex; flex-direction: column-reverse; }
  .home-heritage figure { flex: auto; width: 85%; max-width: 340px; margin: 18px auto 0; }
  .home-v4 .home-follow .home-links { display: block; }
}
