/*
 * component-footer.css — extended footer variants (cta_lead / minimal / bento / dark / sitemap /
 * contact / search / marquee / aurora) for the `footer` recipe. Rendered by trait-apb-component-render-footer.php.
 * apb-rx-* namespace, tokens only (no literals for brand values), no !important. Density-aware where sensible.
 */
.apb-rx-ft{font-family:var(--apb-rx-font,inherit);color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-ft *{box-sizing:border-box}
.apb-rx-ft .apb-rx-ft-brand{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--apb-rx-ink,#0b0d12);display:inline-flex;align-items:center;gap:10px}
.apb-rx-ft-logo{width:32px;height:32px;border-radius:calc(var(--apb-rx-radius,16px) * .6);background:linear-gradient(135deg,var(--apb-rx-brand),var(--apb-rx-brand2,var(--apb-rx-brand)));display:inline-flex;align-items:center;justify-content:center;color:#fff}
.apb-rx-ft-logo svg{width:18px;height:18px}
.apb-rx-ft-btns{display:flex;gap:12px;flex-wrap:wrap}
.apb-rx-ft-btn{display:inline-flex;align-items:center;gap:8px;background:var(--apb-rx-brand);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:13px 22px;border-radius:var(--apb-rx-radius,16px)}
.apb-rx-ft-btn svg{width:17px;height:17px}
.apb-rx-ft-btn--ghost{background:transparent;color:inherit;border:1px solid var(--apb-rx-line)}
.apb-rx-ft-btn--light{background:#fff;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-ftcol h4{margin:0 0 12px;font-size:12px;font-weight:700;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-ftcol a{display:block;padding:5px 0;font-size:14px;text-decoration:none;color:var(--apb-rx-dim,#64748b);transition:color .2s}
.apb-rx-ftcol a:hover{color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-ft-bottom{max-width:1120px;margin:34px auto 0;padding:18px 24px 0;border-top:1px solid var(--apb-rx-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--apb-rx-dim,#64748b)}
.apb-rx-ft-legal-links{display:flex;gap:18px}.apb-rx-ft-legal-links a{color:inherit;text-decoration:none}
.apb-rx-ft-bottom-right{display:flex;align-items:center;gap:18px 22px;flex-wrap:wrap}

/* 1. CTA LEAD */
.apb-rx-footer--cta{background:var(--apb-rx-surface,#fff);padding:0 24px 30px}
.apb-rx-footer--cta .apb-rx-ft-band{max-width:1120px;margin:0 auto;background:linear-gradient(135deg,var(--apb-rx-brand),var(--apb-rx-brand2,var(--apb-rx-brand)));color:#fff;border-radius:calc(var(--apb-rx-radius,16px) * 1.5);padding:calc(clamp(36px,5vw,60px) * var(--apb-rx-density-safe,1));text-align:center;box-shadow:0 30px 70px -30px var(--apb-rx-glow,rgba(79,70,229,.5))}
.apb-rx-footer--cta .apb-rx-ft-band h2{font-family:var(--apb-rx-font-display,inherit);font-size:clamp(26px,4vw,44px);font-weight:800;letter-spacing:-.02em;margin:0}
.apb-rx-footer--cta .apb-rx-ft-band p{max-width:46ch;margin:14px auto 0;font-size:clamp(15px,1.8vw,18px);opacity:.9}
.apb-rx-footer--cta .apb-rx-ft-btns{justify-content:center;margin-top:24px}
.apb-rx-footer--cta .apb-rx-ft-btn{background:#fff;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-footer--cta .apb-rx-ft-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.apb-rx-ft-row{max-width:1120px;margin:32px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.apb-rx-ft-row nav{display:flex;gap:24px;flex-wrap:wrap}
.apb-rx-ft-row nav a{text-decoration:none;color:var(--apb-rx-dim,#64748b);font-size:15px;font-weight:500}

/* 2. MINIMAL */
.apb-rx-footer--minimal{background:var(--apb-rx-surface,#fff);padding:calc(clamp(48px,7vw,84px) * var(--apb-rx-density-safe,1)) 24px;text-align:center}
.apb-rx-ft-wordmark-sm{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:26px;letter-spacing:-.02em;color:var(--apb-rx-ink,#0b0d12);display:inline-flex;align-items:center;gap:10px}
.apb-rx-ft-wordmark-sm .apb-rx-ft-logo{width:32px;height:32px}
.apb-rx-ft-blurb{margin:14px auto 0;max-width:40ch;color:var(--apb-rx-dim,#64748b);font-size:15px}
.apb-rx-ft-mini-nav{display:flex;gap:8px 26px;justify-content:center;flex-wrap:wrap;margin:24px 0;font-size:15px;font-weight:500}
.apb-rx-ft-mini-nav a{text-decoration:none;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-footer--minimal .apb-rx-social,.apb-rx-footer--aurora .apb-rx-social{justify-content:center}
.apb-rx-ft-mini-legal{margin-top:28px;font-size:13px;color:var(--apb-rx-dim,#64748b)}

/* 3. BENTO */
.apb-rx-footer--bento{background:var(--apb-rx-surface-2,#fbfbfd);padding:calc(clamp(40px,6vw,72px) * var(--apb-rx-density-safe,1)) 24px}
.apb-rx-ft-bento{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(var(--apb-rx-cols,4),1fr);gap:var(--apb-rx-feat-gap,14px)}
.apb-rx-ft-tile,.apb-rx-ft-bento-news{background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:calc(var(--apb-rx-radius,16px) * 1.2);padding:20px}
.apb-rx-ft-bento .apb-rx-ftcol{background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:calc(var(--apb-rx-radius,16px) * 1.2);padding:20px}
.apb-rx-ft-tile--wide{grid-column:span 2}
.apb-rx-ft-bento-news{grid-column:span 2;min-width:0;background:linear-gradient(135deg,var(--apb-rx-brand),var(--apb-rx-brand2,var(--apb-rx-brand)));color:#fff;border:0;display:flex;flex-direction:column;justify-content:space-between;min-height:170px}
.apb-rx-ft-bento-news strong{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:22px}
.apb-rx-ft-bento-news p{margin:6px 0 0;font-size:14px;opacity:.9}
.apb-rx-ft-news{display:flex;min-width:0;max-width:100%;gap:8px;background:rgba(255,255,255,.16);border-radius:var(--apb-rx-radius,16px);padding:6px}
.apb-rx-ft-news input{flex:1;min-width:0;border:0;background:transparent;color:#fff;padding:9px 12px;font:inherit;font-size:14px;outline:none}
.apb-rx-ft-news input::placeholder{color:rgba(255,255,255,.7)}
.apb-rx-ft-news button{border:0;background:#fff;color:var(--apb-rx-accent-text,var(--apb-rx-brand));border-radius:calc(var(--apb-rx-radius,16px) * .7);min-width:40px;padding-inline:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}
.apb-rx-ft-news button:disabled,.apb-rx-fx-form button:disabled{cursor:not-allowed;opacity:.55}
.apb-rx-ft-tile--brand{display:flex;flex-direction:column;justify-content:space-between}
.apb-rx-ft-tile--brand p{margin:0;font-size:13px;color:var(--apb-rx-dim,#64748b)}
.apb-rx-ft-status{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}
.apb-rx-ft-dot{width:10px;height:10px;border-radius:50%;background:var(--apb-rx-accent-text,var(--apb-rx-brand));box-shadow:0 0 0 4px var(--apb-rx-soft)}
.apb-rx-ft-bento-legal{grid-column:span 4;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:6px;font-size:13px;color:var(--apb-rx-dim,#64748b)}
.apb-rx-ft-bento-legal .apb-rx-ft-legal-links a{color:inherit;text-decoration:none}

/* 4. DARK */
.apb-rx-footer--dark{background:var(--apb-rx-ink,#0b0d12);color:#fff;padding:calc(clamp(48px,6vw,76px) * var(--apb-rx-density-safe,1)) 24px 30px}
.apb-rx-footer--dark .apb-rx-ft-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.6fr repeat(var(--apb-rx-cols,3),1fr);gap:var(--apb-rx-feat-gap,40px)}
.apb-rx-footer--dark .apb-rx-ft-brand{color:#fff}
.apb-rx-footer--dark .apb-rx-ft-logo{box-shadow:0 0 28px var(--apb-rx-glow,rgba(124,58,237,.6))}
.apb-rx-ft-brandcol p{margin:16px 0 0;max-width:34ch;color:rgba(255,255,255,.6);font-size:14px}
.apb-rx-footer--dark .apb-rx-ft-brandcol .apb-rx-ft-btns{margin-top:20px}
.apb-rx-footer--dark .apb-rx-ftcol h4{color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.apb-rx-footer--dark .apb-rx-ftcol a{color:rgba(255,255,255,.8)}
.apb-rx-footer--dark .apb-rx-ftcol a:hover{color:#fff}
.apb-rx-footer--dark .apb-rx-ft-bottom{border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.5)}

/* 5. SITEMAP */
.apb-rx-footer--sitemap{background:var(--apb-rx-surface-2,#fbfbfd);border-top:1px solid var(--apb-rx-line);padding:calc(clamp(44px,6vw,72px) * var(--apb-rx-density-safe,1)) 24px 26px}
.apb-rx-ft-sitegrid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(var(--apb-rx-cols,auto-fit),minmax(120px,1fr));gap:var(--apb-rx-feat-gap,32px) 24px}
.apb-rx-ft-sitegrid .apb-rx-ft-brandcol p{margin:12px 0 0;max-width:26ch;font-size:13px;color:var(--apb-rx-dim,#64748b)}
.apb-rx-footer--sitemap .apb-rx-ftcol a{font-size:13px}

/* 6. CONTACT */
.apb-rx-footer--contact{background:var(--apb-rx-surface,#fff);border-top:1px solid var(--apb-rx-line);padding:calc(clamp(44px,6vw,72px) * var(--apb-rx-density-safe,1)) 24px 28px}
.apb-rx-ft-cgrid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.3fr repeat(var(--apb-rx-cols,2),1fr);gap:var(--apb-rx-feat-gap,40px);align-items:start}
.apb-rx-ft-clines{margin-top:18px;display:flex;flex-direction:column;gap:14px;font-size:14px}
.apb-rx-ft-cline{display:flex;gap:11px}
.apb-rx-ft-cline>span:first-child{color:var(--apb-rx-accent-text,var(--apb-rx-brand));margin-top:1px}
.apb-rx-ft-cline svg{width:18px;height:18px}
.apb-rx-ft-cexplore .apb-rx-ftcol a{font-size:14px}
.apb-rx-ft-map{position:relative;border-radius:calc(var(--apb-rx-radius,16px) * 1.1);overflow:hidden;aspect-ratio:16/10;border:1px solid var(--apb-rx-line);background:var(--apb-rx-soft)}
.apb-rx-ft-map img{width:100%;height:100%;object-fit:cover;display:block}
.apb-rx-ft-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--apb-rx-brand);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 20px -6px var(--apb-rx-glow,rgba(79,70,229,.5))}
.apb-rx-ft-pin svg{width:18px;height:18px}
.apb-rx-ft-dir{margin-top:12px;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;text-decoration:none;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-ft-dir svg{width:16px;height:16px}

/* 7. SEARCH */
.apb-rx-footer--search{background:var(--apb-rx-surface-2,#fbfbfd);border-top:1px solid var(--apb-rx-line);padding:calc(clamp(44px,6vw,72px) * var(--apb-rx-density-safe,1)) 24px 28px}
.apb-rx-ft-searchtop{max-width:760px;margin:0 auto;text-align:center}
.apb-rx-ft-searchtop h2{font-family:var(--apb-rx-font-display,inherit);font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.02em;margin:0;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-ft-search{display:flex;align-items:center;gap:12px;max-width:560px;margin:22px auto 0;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:999px;padding:6px 6px 6px 20px;box-shadow:0 14px 34px -18px var(--apb-rx-glow,rgba(79,70,229,.4))}
.apb-rx-ft-search svg{width:19px;height:19px;color:var(--apb-rx-dim,#64748b)}
.apb-rx-ft-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;outline:none;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-ft-search button{border:0;background:var(--apb-rx-brand);color:#fff;font:inherit;font-weight:700;font-size:15px;padding:12px 22px;border-radius:999px;cursor:pointer}
.apb-rx-ft-pills{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--apb-rx-dim,#64748b)}
.apb-rx-ft-pills>span{align-self:center}
.apb-rx-ft-pill{text-decoration:none;font-weight:600;color:var(--apb-rx-accent-text,var(--apb-rx-brand));background:var(--apb-rx-soft);padding:6px 13px;border-radius:999px}
.apb-rx-footer--search .apb-rx-ft-row{margin-top:38px;padding-top:20px;border-top:1px solid var(--apb-rx-line)}
.apb-rx-ft-c{font-size:13px;color:var(--apb-rx-dim,#64748b);display:inline-flex;align-items:center;gap:10px}

/* 8. MARQUEE */
.apb-rx-footer--marquee{background:var(--apb-rx-surface,#fff);border-top:1px solid var(--apb-rx-line);overflow:hidden}
.apb-rx-ft-mq{overflow:hidden}
.apb-rx-ft-mqtrack{display:flex;gap:.4em;width:max-content;white-space:nowrap;padding:clamp(20px,3vw,36px) 0;align-items:center;animation:apb-rx-ftmq calc(22s / var(--apb-rx-dur,1)) linear infinite}
.apb-rx-ft-mqtrack span{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:clamp(44px,8vw,96px);letter-spacing:-.03em;line-height:1;background:linear-gradient(90deg,var(--apb-rx-brand),var(--apb-rx-brand2,var(--apb-rx-brand)),var(--apb-rx-brand));-webkit-background-clip:text;background-clip:text;color:transparent}
.apb-rx-ft-mqtrack em{font-style:normal;color:var(--apb-rx-line);font-size:clamp(44px,8vw,96px);font-weight:800}
@keyframes apb-rx-ftmq{to{transform:translateX(-50%)}}
.apb-rx-ft-row--top{border-top:1px solid var(--apb-rx-line);padding:8px 24px clamp(24px,3vw,32px)}

/* 9. AURORA */
.apb-rx-footer--aurora{position:relative;overflow:hidden;background:var(--apb-rx-ink,#0b0d12);color:#fff;padding:calc(clamp(56px,8vw,110px) * var(--apb-rx-density-safe,1)) 24px 30px}
.apb-rx-ft-mesh{position:absolute;inset:-30% -10%;z-index:0;filter:blur(60px);opacity:.65;background:radial-gradient(40% 50% at 20% 30%,var(--apb-rx-brand) 0%,transparent 60%),radial-gradient(38% 46% at 78% 26%,var(--apb-rx-brand2,var(--apb-rx-brand)) 0%,transparent 60%),radial-gradient(46% 54% at 55% 78%,var(--apb-rx-brand3,var(--apb-rx-brand)) 0%,transparent 62%);background-size:200% 200%;animation:apb-rx-ftau calc(18s / var(--apb-rx-dur,1)) ease-in-out infinite alternate}
@keyframes apb-rx-ftau{0%{background-position:0 0}100%{background-position:100% 100%}}
.apb-rx-ft-aurora-in{position:relative;z-index:1;max-width:820px;margin:0 auto;text-align:center}
.apb-rx-ft-aurora-wm{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:clamp(44px,9vw,104px);letter-spacing:-.04em;line-height:.95}
.apb-rx-ft-aurora-in p{margin:16px auto 0;max-width:44ch;color:rgba(255,255,255,.72);font-size:clamp(15px,1.8vw,18px)}
.apb-rx-ft-aurora-in .apb-rx-ft-btn{margin-top:24px}
.apb-rx-footer--aurora .apb-rx-ft-mini-nav a{color:rgba(255,255,255,.82)}
.apb-rx-ft-aurora-legal{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:rgba(255,255,255,.55)}

/* responsive */
@media(max-width:860px){
  .apb-rx-ft-bento,.apb-rx-footer--dark .apb-rx-ft-grid{grid-template-columns:1fr 1fr}
  .apb-rx-ft-bento-news,.apb-rx-ft-bento-legal{grid-column:span 2}
  .apb-rx-ft-cgrid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .apb-rx-ft-bento,.apb-rx-footer--dark .apb-rx-ft-grid{grid-template-columns:1fr}
  .apb-rx-ft-bento-news,.apb-rx-ft-bento-legal{grid-column:span 1}
  .apb-rx-ft-bottom-right{flex-direction:column;align-items:flex-start}
}
@media(max-width:360px){.apb-rx-ft-news{flex-direction:column}.apb-rx-ft-news button{width:100%;min-height:40px}}
@media(max-width:360px){.apb-rx-ftfx .apb-rx-fx-news{min-width:0}.apb-rx-ftfx .apb-rx-fx-form{flex-direction:column;border-radius:var(--apb-rx-radius,16px);padding:8px}.apb-rx-ftfx .apb-rx-fx-form button{width:100%;height:auto;min-height:40px;white-space:normal;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.apb-rx-ft-mqtrack,.apb-rx-ft-mesh{animation:none}}

/* ======================================================================
   footer expand — floats as an inset rounded card, grows to full-bleed as it
   enters view. Growth driven by the data-apb-grow scanner setting --e (0=float,
   1=settled). Fail-open: no [data-apb-grow-ready] / no --e resolves to full-bleed.
   ====================================================================== */
.apb-rx-footer--expand{background:var(--apb-rx-soft,#f4f5f7);overflow:clip;padding:0}
.apb-rx-ftfx.apb-rx-fx-card,.apb-rx-ftfx .apb-rx-fx-card{width:100%;max-width:none;margin:0 auto;border-radius:0;overflow:hidden;
  background:var(--apb-rx-ink,#0b0d12);color:#fff}
.apb-rx-footer--expand[data-apb-grow-ready] .apb-rx-fx-card{
  width:calc(68% + 32% * var(--e,1));
  max-width:calc(1180px + (100vw - 1180px) * var(--e,1));
  border-radius:calc(30px * (1 - var(--e,1)));
  margin-bottom:calc(clamp(44px,10vh,120px) * (1 - var(--e,1)));
  box-shadow:0 calc(40px * (1 - var(--e,1))) calc(90px * (1 - var(--e,1))) -28px rgba(11,13,18,.45)}
.apb-rx-ftfx .apb-rx-fx-inner{max-width:1160px;margin:0 auto;padding:clamp(40px,5vw,72px) clamp(24px,5vw,56px) clamp(22px,3vw,32px)}
.apb-rx-ftfx .apb-rx-fx-top{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px)}
.apb-rx-ftfx .apb-rx-fx-brand{flex:1 1 280px;min-width:240px}
.apb-rx-ftfx .apb-rx-fx-logo{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.01em}
.apb-rx-ftfx .apb-rx-ft-logo{display:inline-flex;width:26px;height:26px;border-radius:8px;align-items:center;justify-content:center;background:#fff;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-ftfx .apb-rx-fx-brand p{margin:16px 0 0;color:rgba(255,255,255,.62);font-size:14.5px;line-height:1.6;max-width:34ch}
.apb-rx-ftfx .apb-rx-social{display:flex;gap:10px;margin-top:20px}
.apb-rx-ftfx .apb-rx-social a{display:inline-flex;width:36px;height:36px;border-radius:999px;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#fff;transition:background .2s ease}
.apb-rx-ftfx .apb-rx-social a:hover{background:rgba(255,255,255,.16)}
.apb-rx-ftfx .apb-rx-social svg{width:16px;height:16px}
.apb-rx-ftfx .apb-rx-fx-col{flex:0 1 150px;min-width:130px}
.apb-rx-ftfx .apb-rx-fx-col h4{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.apb-rx-ftfx .apb-rx-fx-col a{display:block;color:rgba(255,255,255,.8);text-decoration:none;font-size:14.5px;padding:6px 0;transition:color .18s ease}
.apb-rx-ftfx .apb-rx-fx-col a:hover{color:#fff}
.apb-rx-ftfx .apb-rx-fx-news{flex:1 1 260px;min-width:240px}
.apb-rx-ftfx .apb-rx-fx-news h4{margin:0 0 12px;font-size:15px;font-weight:700;color:#fff}
.apb-rx-ftfx .apb-rx-fx-form{box-sizing:border-box;display:flex;min-width:0;max-width:100%;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 5px 5px 16px}
.apb-rx-ftfx .apb-rx-fx-form input{box-sizing:border-box;flex:1;min-width:0;background:none;border:0;outline:none;color:#fff;font-size:14px}
.apb-rx-ftfx .apb-rx-fx-form input::placeholder{color:rgba(255,255,255,.45)}
.apb-rx-ftfx .apb-rx-fx-form button{flex:0 0 auto;height:38px;padding:0 18px;border:0;border-radius:999px;background:#fff;color:var(--apb-rx-ink,#0b0d12);font-weight:700;font-size:14px;cursor:pointer}
.apb-rx-ftfx .apb-rx-fx-bottom{margin-top:clamp(30px,4vw,48px);padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between}
.apb-rx-ftfx .apb-rx-fx-bottom small{color:rgba(255,255,255,.5);font-size:13px}
.apb-rx-ftfx .apb-rx-fx-legal{display:flex;flex-wrap:wrap;gap:18px}
.apb-rx-ftfx .apb-rx-fx-legal a{color:rgba(255,255,255,.5);text-decoration:none;font-size:13px;transition:color .18s ease}
.apb-rx-ftfx .apb-rx-fx-legal a:hover{color:#fff}
@media(prefers-reduced-motion:reduce){
  .apb-rx-footer--expand[data-apb-grow-ready] .apb-rx-fx-card{width:100%;max-width:none;border-radius:0;margin-bottom:0;box-shadow:none}
}
@media(max-width:480px){ .apb-rx-ftfx .apb-rx-fx-brand,.apb-rx-ftfx .apb-rx-fx-news{flex-basis:100%} }

/* ======================================================================
   footer dynamics family — six entrance variants sharing the .apb-rx-ftfx
   content shell. All driven by the data-apb-grow scanner's --e (0 = entering,
   1 = settled). Fail-open: --e defaults to 1, so no-JS/reduced-motion resolve
   to the settled state with zero transforms.
   ====================================================================== */
/* rise — the page lifts off a pinned footer; a shade fades as it is uncovered */
.apb-rx-ftrise-stage{position:relative;--apb-rx-ftrise-h:72vh;height:calc(var(--apb-rx-ftrise-h) + 50vh)}
.apb-rx-footer--rise{position:sticky;top:calc(100vh - var(--apb-rx-ftrise-h));height:var(--apb-rx-ftrise-h);overflow:hidden;display:flex;align-items:flex-end;padding:0}
.apb-rx-footer--rise .apb-rx-fx-inner{width:100%}
.apb-rx-ftrise-shade{position:absolute;inset:0;pointer-events:none;background:rgba(0,0,0,.5);opacity:calc(1 - var(--e,1))}
/* drawer — slides up from below the fold, top corners rounding off as it seats */
.apb-rx-footer--drawer{background:var(--apb-rx-soft,#f4f5f7);overflow:clip;padding:0}
.apb-rx-footer--drawer .apb-rx-fx-card{transform:translateY(calc((1 - var(--e,1)) * 46%));
  border-radius:calc(var(--apb-rx-radius,16px) * 1.4 * (1 - var(--e,1))) calc(var(--apb-rx-radius,16px) * 1.4 * (1 - var(--e,1))) 0 0;will-change:transform}
/* iris — revealed through an expanding rounded clip window */
.apb-rx-footer--iris{background:var(--apb-rx-soft,#f4f5f7);overflow:clip;padding:0}
.apb-rx-footer--iris .apb-rx-fx-card{clip-path:inset(calc((1 - var(--e,1)) * 12%) calc((1 - var(--e,1)) * 16%) 0 calc((1 - var(--e,1)) * 16%) round calc((1 - var(--e,1)) * 40px))}
/* fold — tips up from a 3D fold, flattening as it docks */
.apb-rx-footer--fold{background:var(--apb-rx-soft,#f4f5f7);overflow:clip;padding:0;perspective:1100px}
.apb-rx-footer--fold .apb-rx-fx-card{transform-origin:50% 0;will-change:transform;
  transform:rotateX(calc((1 - var(--e,1)) * -14deg)) translateY(calc((1 - var(--e,1)) * 10%))}
/* cascade — the band is set; brand / columns / legal stagger up into it */
.apb-rx-footer--cascade{padding:0}
.apb-rx-footer--cascade [data-cas]{--p:clamp(0,calc((var(--e,1) - var(--i,0) * .1) / .5),1);
  opacity:var(--p);transform:translateY(calc((1 - var(--p)) * 26px))}
/* split — brand slides in from the left, links from the right */
.apb-rx-footer--split{background:var(--apb-rx-soft,#f4f5f7);overflow:clip;padding:0}
.apb-rx-fxhalf{will-change:transform}
.apb-rx-fxhalf--l{flex:1 1 44%}
.apb-rx-fxhalf--r{flex:1 1 44%;display:flex;flex-wrap:wrap;gap:clamp(26px,4vw,52px);justify-content:flex-end}
.apb-rx-footer--split .apb-rx-fxhalf--l{transform:translateX(calc((1 - var(--e,1)) * -46%))}
.apb-rx-footer--split .apb-rx-fxhalf--r{transform:translateX(calc((1 - var(--e,1)) * 46%))}
@media(max-width:700px){ .apb-rx-fxhalf--r{justify-content:flex-start} }
