/* Shared interior-page components. Load after style.css, only on interior pages. */
.subpage { scroll-padding-top: 110px; }
.subpage body { overflow-wrap: anywhere; }
.subpage .site-header { background-color: rgba(255, 255, 255, .96); }
.subpage a:focus-visible { outline: 2px solid #087fe5; outline-offset: 5px; }
.sub-skip { position: fixed; top: -100px; left: 16px; z-index: 1100; padding: 14px 20px; background: #fff; }
.sub-skip:focus { top: 12px; }
.sub-container { width: min(1120px, calc(100% - 80px)); margin-inline: auto; }
.sub-section { padding-block: clamp(64px, 8vw, 112px); }
.subpage h2 { margin: 0; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.7; letter-spacing: .04em; }
.subpage h3 { margin: 0; font-size: 20px; line-height: 1.7; }
.sub-eyebrow { margin: 0 0 20px; color: #086cba; font-size: 11px; font-weight: 700; letter-spacing: .18em; line-height: 1.8; }
.sub-heading { margin-bottom: 40px; }
.sub-breadcrumb { display: flex; flex-wrap: wrap; gap: 14px; font-size: 11px; color: #465c6e; }
.sub-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; padding-block: 12px; }
.sub-breadcrumb > span { padding-block: 12px; }
.sub-contact { position: relative; padding: 88px 0; text-align: center; color: #fff; background: radial-gradient(ellipse at 50% 100%, #12466b, transparent 65%), #061725; border-top: 1px solid #2288ba; }
.sub-contact::before { content: ""; display: block; width: min(160px, 40%); height: 1px; background: #54d7ff; box-shadow: 0 0 14px #54d7ff; margin: 0 auto 32px; }
.sub-contact .sub-eyebrow { color: #7adfff; }
.sub-contact h2 { font-size: clamp(22px, 2.5vw, 34px); }
.sub-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 48px; max-width: 100%; margin-top: 36px; padding: 20px 28px; border: 1px solid #70c5ef; font-size: 15px; transition: background .2s ease; }
.sub-button:hover { background: #105587; }
.subpage .footer-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.subpage .footer-bottom p, .subpage .footer-company-en { color: #9caab5; }
@media (max-width: 900px) {
  .subpage .site-header { background: transparent; }
  .sub-container { width: calc(100% - 40px); }
}
@media (prefers-reduced-motion: reduce) {
  .subpage { scroll-behavior: auto; }
  .subpage *, .subpage *::before, .subpage *::after { animation: none !important; transition: none !important; }
}
