.cta-section { position: relative; padding: clamp(80px, 12vw, 160px) 0; background: var(--c-black); color: var(--c-white); text-align: center; overflow: hidden; }
.cta-section__bg { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,0.5) 0%, rgba(10,10,10,0.85) 100%); pointer-events: none; }
.cta-section__inner { position: relative; z-index: 1; }
.cta-section__headline { font-size: clamp(24px, 3.5vw, 40px); font-weight: var(--fw-light); line-height: 1.4; margin-bottom: 20px; }
.cta-section__sub { font-size: clamp(14px, 1.4vw, 17px); color: var(--c-steel-light); margin-bottom: 40px; max-width: 560px; margin-left: auto; margin-right: auto; }
.footer { padding: clamp(48px, 6vw, 80px) 0 clamp(24px, 3vw, 40px); background: var(--c-white); border-top: 1px solid var(--c-light-gray); }
.footer__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 48px; }
.footer__brand { font-family: var(--font-en); font-size: clamp(36px, 5vw, 52px); font-weight: var(--fw-xlight); color: var(--c-platinum); letter-spacing: -0.03em; line-height: 1.2; }
.footer__links { display: flex; gap: 48px; }
.footer__link-group { display: flex; flex-direction: column; gap: 12px; }
.footer__link { font-size: 14px; color: var(--c-text-on-light-sub); transition: color var(--duration-fast) ease; }
.footer__link:hover { color: var(--c-text-on-light); }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 24px; border-top: 1px solid var(--c-light-gray); font-size: 12px; color: var(--c-text-on-light-sub); }
.mobile-cta {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 90; padding: 12px 20px;
  background: rgba(10,10,10,0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255,255,255,0.08); display: none;
  transform: translateY(100%); transition: transform var(--duration-fast) ease;
}
.mobile-cta.is-visible { transform: translateY(0); }
.mobile-cta .btn { width: 100%; }
