/* Premium footer (all pages). Full-bleed background comes from the shared .site-footer:before rule. */
.site-footer.fp{padding:0 var(--gutter);color:#efe9ff;font-family:var(--body);background:radial-gradient(42% 70% at 100% 0,#ceffe126,#ceffe100 70%),radial-gradient(50% 80% at 0 100%,#21063880,#21063800 70%),linear-gradient(158deg,#5014ef 0%,#3d0bbd 52%,#2a0784 100%)}
.fp a:not(.button){color:inherit}
.fp .fp-button{color:var(--ink)}
.fp :focus-visible{outline:2px solid var(--mint);outline-offset:4px}

/* Call to action */
.fp-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4cqw;padding:5.4cqw 0 4.4cqw;border-bottom:1px solid #ceffe133}
.fp-kicker{margin-bottom:1.6cqw;font-size:11px;font-weight:650;letter-spacing:.28em;text-transform:uppercase;color:#ceffe1cc}
.fp-title{font-family:var(--display);font-size:clamp(46px,6.6cqw,84px);font-weight:400;line-height:.98;letter-spacing:-.02em;color:var(--mint)}
.fp-title span{display:block}
.fp-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.fp-button{padding:19px 26px;font-size:15px;box-shadow:0 18px 40px -18px #0b021f}
.fp-button:hover{background:#fff;color:var(--ink)}
.fp-actions small{font-size:13px;color:#e4dafd}

/* Sitemap */
.fp-grid{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,1fr));gap:3.6cqw;padding:4cqw 0 3.6cqw}
.fp-brand .wordmark{font-size:46px;color:var(--mint)}
.fp-pitch{max-width:31ch;margin-top:22px;font-size:14px;line-height:1.65;color:#e4dafd}
.fp-contact{display:grid;gap:14px;margin:26px 0 0;padding:0;list-style:none}
.fp-contact li{display:grid;gap:2px}
.fp-contact span{font-size:10.5px;font-weight:650;letter-spacing:.22em;text-transform:uppercase;color:#ceffe1b3}
.fp-contact a,.fp-contact strong{max-width:100%;font-size:17px;font-weight:650;color:#fff}
.fp-contact a{width:max-content;overflow-wrap:anywhere}
.fp-heading{margin-bottom:18px;font-size:11px;font-weight:650;letter-spacing:.24em;text-transform:uppercase;color:var(--mint)}
.fp-col ul{margin:0;padding:0;list-style:none}
.fp-col li+li{margin-top:11px}
.fp-col a,.fp-contact a,.fp-legal a,.fp-social a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .25s,color .2s}
.fp-col a{font-size:15px;line-height:1.4;color:#efe9ff}
.fp-col a:hover,.fp-contact a:hover,.fp-legal a:hover,.fp-social a:hover{color:var(--mint);background-size:100% 1px}
.fp-col a[aria-current]{color:var(--mint);background-size:100% 1px}

/* Bottom bar */
.fp-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding:20px 0 22px;border-top:1px solid #ceffe133;font-size:12.5px;color:#ddd2fb}
.fp-legal,.fp-social{display:flex;flex-wrap:wrap;gap:6px 22px}
.fp-motto{margin-left:auto;font-size:11px;font-weight:650;letter-spacing:.22em;text-transform:uppercase;color:#ceffe1b3}
.fp-top{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid #ceffe14d;border-radius:999px;font-weight:600;color:var(--mint);transition:background .2s,color .2s,border-color .2s}
.fp-top:hover{background:var(--mint);color:var(--ink);border-color:var(--mint)}
.fp-top svg{width:14px;height:14px}

@media (width>=701px) and (width<=960px){
.fp-cta{grid-template-columns:1fr;gap:28px;padding:52px 0 40px}
.fp-title{font-size:9cqw}
.fp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;padding:40px 0 34px}
.fp-brand{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px;align-items:start}
.fp-brand>a{grid-column:1}
.fp-brand .fp-pitch{grid-column:1;margin-top:18px}
.fp-brand .fp-contact{grid-column:2;grid-row:1/span 2;margin-top:0;grid-template-columns:minmax(0,1fr);gap:16px}
.fp-motto{margin-left:0}
}
@media (width<=700px){
.site-footer.fp{padding:0 var(--gutter)}
.fp-cta{grid-template-columns:1fr;gap:26px;padding:46px 0 34px}
.fp-kicker{margin-bottom:14px}
.fp-title{font-size:12.4cqw}
.fp-actions{align-items:stretch}
.fp-button{justify-content:space-between;width:100%;padding:18px 20px;font-size:15px}
.fp-grid{grid-template-columns:1fr 1fr;gap:34px 20px;padding:36px 0 26px}
.fp-brand{grid-column:1/-1}
.fp-brand .wordmark{font-size:40px}
.fp-pitch{max-width:none}
.fp-col li+li{margin-top:0}
.fp-col a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
.fp-col:last-child{grid-column:1/-1}
.fp-col:last-child ul{display:flex;flex-wrap:wrap;gap:0 24px}
.fp-contact a,.fp-contact strong{font-size:16px}
.fp-contact a{display:inline-flex;align-items:center;min-height:40px}
.fp-bottom{flex-direction:column;align-items:flex-start;gap:14px;padding:22px 0 26px}
.fp-legal a,.fp-social a{display:inline-flex;align-items:center;min-height:44px}
.fp-motto{margin-left:0}
}
