/* App download and final invitation share one uninterrupted pale-yellow section. */
.cp-download { padding: 100px 0 88px; background: #fff9c7; color: #062817; font-family: 'Inter', sans-serif; text-align: left; }
.cp-download *, .cp-download *::before, .cp-download *::after { box-sizing: border-box; }
.cp-download-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 100px; }
.cp-download .cp-eyebrow { margin-bottom: 28px; line-height: 1.5; }
.cp-download h2 { margin: 0; color: inherit; font: 600 clamp(4.5rem,9vw,9rem)/.95 'Manrope', 'Arial Narrow', sans-serif; letter-spacing: -.025em; }
.cp-download-copy p { margin: 30px 0; color: #657d6b; font-size: 1rem; line-height: 1.7; }
.cp-download-stores { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.cp-download-stores a { display: inline-flex; border-radius: 6px; transition: transform .3s; }
.cp-download-stores a:hover { transform: translateY(-3px); }
.cp-download-stores img { display: block; width: auto; height: 56px; }
.cp-download a:focus-visible { outline: 3px solid #0b3d23; outline-offset: 5px; }
.cp-download .signal-stage { position: relative; isolation: isolate; aspect-ratio: 1.2; display: grid; place-items: center; min-width: 0; }
.cp-download .signal-orbit { position: absolute; width: 90%; height: 95%; border: 2px solid currentColor; border-radius: 50%; transform: rotateZ(-45deg) rotateX(43deg); transform-style: preserve-3d; }
.cp-download .orbit-b { width: 85.4%; height: 90.2%; transform: rotateZ(45deg) rotateX(43deg); }
.cp-download .orbit-ball { position: absolute; left: 18%; top: 11.6%; width: clamp(26px,3vw,40px); height: clamp(26px,3vw,40px); }
.cp-download .orbit-ball img { display: block; width: 100%; height: 100%; }
.cp-download .signal-core { width: 42%; aspect-ratio: 1; display: grid; place-items: center; }
.cp-download .signal-core > img { display: block; width: 80%; height: 80%; object-fit: contain; }
.cp-download .signal-node { position: absolute; z-index: 2; padding: 10px 15px; background: #fff9c7; color: #062817; border: 1px solid rgb(6 40 23 / .35); border-radius: 99px; font-size: .6rem; font-weight: 600; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.cp-download .node-a { left: 0; top: 14%; }
.cp-download .node-b { right: 0; top: 45%; }
.cp-download .node-c { left: 4%; bottom: 7%; }
.cp-download .signal-orbit-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.cp-download .orbit-3d-ready :is(.signal-core,.signal-orbit) { visibility: hidden; }
.cp-download-cta { display: flex; align-items: center; justify-content: space-between; gap: 36px; margin-top: 100px; }
.cp-download-cta h3 { margin: 0; color: inherit; font: 600 clamp(3.5rem,7vw,7rem)/.95 'Manrope', 'Arial Narrow', sans-serif; letter-spacing: -.02em; text-transform: uppercase; }
.cp-download .cp-button { background: #062817; color: #0b3d23; border-color: #062817; text-decoration: none; }
.cp-download .cp-button:hover { background: #0b3d23; color: #0b3d23; }
@media (max-width: 1000px) {
    .cp-download { padding-block: 76px; }
    .cp-download-layout { gap: 40px; }
    .cp-download-cta { margin-top: 76px; }
    .cp-download-cta h3 { font-size: clamp(3rem,6.5vw,5rem); }
}
@media (max-width: 640px) {
    .cp-download { padding-block: 56px; }
    .cp-download-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .cp-download h2 { font-size: clamp(4rem,17vw,5.5rem); }
    .cp-download-copy p { font-size: .92rem; margin-block: 24px; }
    .cp-download .signal-stage { max-width: 380px; width: 100%; margin-inline: auto; }
    .cp-download .signal-node { padding: 8px 12px; font-size: .5rem; }
    .cp-download-cta { align-items: flex-start; flex-direction: column; gap: 28px; margin-top: 40px; }
    .cp-download-cta h3 { font-size: clamp(2.8rem,12vw,3.7rem); }
}
@media (prefers-reduced-motion: reduce) {
    .cp-download a, .cp-download svg { transition: none; }
}

@media (max-width:560px) { .cp-download-stores a { flex:0 1 calc(50% - 6px); min-width:0; max-width:168px; } .cp-download-stores img { width:100%; height:auto; max-height:52px; } }
