.closing-cta {
    --closing-progress: 1;
    position: relative;
    min-height: clamp(640px, 82svh, 920px);
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: clamp(150px, 17vw, 250px) var(--page-pad) clamp(120px, 13vw, 190px);
    background: linear-gradient(180deg, #07080a 0%, var(--bg) 22%, #0b0c0e 100%);
    isolation: isolate;
}

.closing-cta__backdrop {
    position: absolute;
    z-index: -1;
    top: 47%;
    left: 20%;
    color: rgba(215, 218, 222, .025);
    font: 600 clamp(150px, 26vw, 430px)/.7 Manrope, Arial, sans-serif;
    letter-spacing: -.09em;
    transform: translate3d(0, calc(-50% + var(--closing-depth, 0px)), 0);
    white-space: nowrap;
    pointer-events: none;
}

.closing-cta__composition { width: min(820px, 72vw); margin-left: clamp(0px, 7vw, 120px); }
.closing-cta__rule {
    display: block;
    width: min(540px, 72%);
    height: 1px;
    margin-bottom: clamp(28px, 3vw, 44px);
    background: linear-gradient(90deg, var(--silver), var(--gold), rgba(201, 163, 92, 0));
    transform: scaleX(var(--closing-rule, 1));
    transform-origin: left;
}
.closing-cta__marker { margin: 0 0 22px; color: var(--gold); font-size: 9px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.closing-cta h2 { margin: 0; font: 600 clamp(58px, 8.2vw, 132px)/.88 Manrope, Arial, sans-serif; letter-spacing: -.065em; text-transform: uppercase; }
.closing-cta__copy { max-width: 520px; margin: clamp(28px, 3vw, 42px) 0 0; color: var(--muted); font-size: clamp(14px, 1.15vw, 17px); line-height: 1.7; }
.closing-cta__actions { display: flex; align-items: center; gap: clamp(18px, 2.5vw, 38px); margin-top: clamp(32px, 3.5vw, 50px); }
.closing-cta__primary, .closing-cta__secondary { display: inline-flex; min-height: 50px; align-items: center; font-size: 12px; font-weight: 600; letter-spacing: .055em; }
.closing-cta__primary { padding: 0 24px; border: 1px solid rgba(215, 218, 222, .46); background: rgba(215, 218, 222, .08); }
.closing-cta__secondary { gap: 10px; color: var(--muted); }
.closing-cta a { transition: border-color .25s ease, color .25s ease, transform .25s ease; }
.closing-cta a:hover, .closing-cta a:focus-visible { color: var(--text); border-color: var(--gold); }
.closing-cta a:focus-visible, .site-footer a:focus-visible { outline: 1px solid var(--gold); outline-offset: 7px; }

.motion-ready .closing-cta__composition > :not(.closing-cta__rule):not(.closing-cta__actions) { opacity: var(--closing-content, 0); transform: translateY(calc((1 - var(--closing-content, 0)) * 18px)); }
.motion-ready .closing-cta__actions { opacity: var(--closing-actions, 0); transform: translateY(calc((1 - var(--closing-actions, 0)) * 14px)); }

.site-footer { --footer-progress: 1; position: relative; padding: 0 var(--page-pad) max(30px, env(safe-area-inset-bottom)); background: #08090b; }
.site-footer__rule { display: block; width: 100%; height: 1px; background: linear-gradient(90deg, rgba(215,218,222,.16), rgba(215,218,222,.62) 18%, rgba(201,163,92,.5) 60%, rgba(215,218,222,.08)); transform: scaleX(var(--footer-rule, 1)); transform-origin: left; }
.site-footer__grid { display: grid; grid-template-columns: minmax(260px, 1.5fr) minmax(150px, .7fr) minmax(220px, .8fr); gap: clamp(46px, 8vw, 130px); padding: clamp(64px, 8vw, 118px) 0 clamp(56px, 7vw, 96px); }
.footer-identity img { display: block; width: clamp(132px, 12vw, 180px); height: auto; }
.footer-identity__statement { margin: 28px 0 0; font: 500 clamp(18px, 1.7vw, 24px)/1.3 Manrope, Arial, sans-serif; }
.footer-identity__copy { max-width: 390px; margin: 15px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.footer-nav, .footer-contact { display: flex; align-items: flex-start; flex-direction: column; gap: 15px; }
.footer-nav p, .footer-contact p { margin: 0 0 11px; color: var(--gold); font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.footer-nav a, .footer-contact a { color: var(--muted); font-size: 13px; line-height: 1.4; transition: color .2s ease, transform .2s ease; }
.footer-contact a { color: var(--text); }
.footer-nav a:hover, .footer-contact a:hover, .back-to-top:hover, .footer-legal a:hover { color: var(--gold); }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 28px; padding-top: 24px; border-top: 1px solid rgba(215,218,222,.09); }
.footer-legal { display: flex; gap: 26px; }
.footer-legal a, .back-to-top { color: #7f8287; font-size: 10px; letter-spacing: .08em; transition: color .2s ease; }
.back-to-top { white-space: nowrap; }
.motion-ready .site-footer__grid > *, .motion-ready .site-footer__bottom { opacity: var(--footer-progress, 0); transform: translateY(calc((1 - var(--footer-progress, 0)) * 12px)); }
.motion-ready .site-footer__grid > :nth-child(2) { opacity: var(--footer-progress-2, 0); transform: translateY(calc((1 - var(--footer-progress-2, 0)) * 12px)); }
.motion-ready .site-footer__grid > :nth-child(3), .motion-ready .site-footer__bottom { opacity: var(--footer-progress-3, 0); transform: translateY(calc((1 - var(--footer-progress-3, 0)) * 12px)); }

@media (max-width: 820px) {
    .closing-cta__composition { width: min(680px, 90vw); margin-left: 0; }
    .closing-cta__backdrop { left: 4%; font-size: clamp(130px, 31vw, 250px); }
    .site-footer__grid { grid-template-columns: 1.4fr .7fr; }
    .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .closing-cta { min-height: 680px; padding-top: 120px; padding-bottom: 110px; }
    .closing-cta__composition { width: 100%; }
    .closing-cta h2 { font-size: clamp(48px, 15vw, 76px); }
    .closing-cta__actions { align-items: flex-start; flex-direction: column; }
    .closing-cta__primary { width: 100%; justify-content: center; }
    .site-footer__grid { grid-template-columns: 1fr; gap: 48px; }
    .footer-contact { grid-column: auto; }
    .site-footer__bottom { align-items: flex-start; flex-direction: column; }
    .footer-nav a,
    .footer-contact a,
    .footer-legal a,
    .back-to-top { display: inline-flex; min-height: 40px; align-items: center; }
}
@media (max-width: 430px) {
    .closing-cta h2 { font-size: clamp(44px, 13vw, 56px); }
}
@media (prefers-reduced-motion: reduce) {
    .closing-cta__backdrop, .closing-cta__composition > *, .site-footer__rule, .site-footer__grid > *, .site-footer__bottom { transform: none !important; opacity: 1 !important; }
    .closing-cta__rule { transform: none; }
    .closing-cta a, .site-footer a { transition: none; }
}
