/*
 * BlackRidge footer (Layer 1.4) — approved prototype, scoped. Tokens map to theme.json presets.
 */
.br-ftr{
  --f-line:color-mix(in srgb, var(--br-bone) 10%, transparent);
  --f-line-2:color-mix(in srgb, var(--br-bone) 20%, transparent);
  --ridge-h:var(--br-ridge-h);
  position:relative;background:var(--br-black);color:var(--br-bone);
  margin-top:calc(-1 * var(--ridge-h));
}
.br-ftr,.br-ftr *,.br-ftr *::before,.br-ftr *::after{box-sizing:border-box}
.br-ftr :where(h2,h3,p,ul){margin:0;padding:0}
.br-ftr :where(a){color:inherit;text-decoration:none}
.br-ftr :where(button){font:inherit;color:inherit;background:none;border:0;cursor:pointer}
/* Template-part wrapper sits flush under main so the ridge joins the last section. */
.wp-site-blocks > footer.wp-block-template-part{margin-block-start:0}
.br-ftr .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Ridge edge, same profile as the section edges */
.br-ftr::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:var(--ridge-h);background:inherit;
  clip-path:polygon(0 100%,0 87.5%,23.6% 87.5%,32.6% 41.7%,41% 72.9%,52.8% 8.3%,64.6% 64.6%,73.6% 39.6%,83.3% 81.3%,100% 81.3%,100% 100%)}
.br-fwrap{max-width:var(--wp--style--global--wide-size,1760px);margin:0 auto;padding:0 var(--br-gutter)}
.br-ftr-in{padding-top:var(--wp--preset--spacing--90)}
.br-flab{font-family:var(--br-mono);font-size:12px;font-weight:400;color:var(--br-ash);margin-bottom:18px!important}

/* 1 · Closing CTA */
.br-fcta{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(40px,6vw,120px);align-items:end;padding-bottom:var(--wp--preset--spacing--80);border-bottom:1px solid var(--f-line)}
.br-fcta h2{margin-top:28px;font-size:clamp(2.5rem,1rem + 4.1vw,5.75rem);line-height:.96;letter-spacing:-.045em;font-weight:600;color:var(--br-bone)}
.br-fcta h2 .br-ln{display:block;overflow:hidden;padding-bottom:.06em}
.br-fcta h2 .br-ln>span{display:inline-block}
.br-fcta h2 .br-dim{color:var(--br-steel)}
.br-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.br-promise ul{list-style:none}
.br-promise li{display:flex;gap:14px;align-items:baseline;padding:16px 0;border-top:1px solid var(--f-line);font-size:1.0625rem;color:var(--br-mist)}
.br-promise li b{color:var(--br-bone);font-weight:500}
.br-promise li svg{width:14px;height:14px;flex:none;transform:translateY(2px)}
.br-promise li svg path{fill:none;stroke:var(--br-lime);stroke-width:1.8}

/* 2 · Links + contact */
.br-fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.5fr);gap:clamp(28px,4vw,72px);padding:var(--wp--preset--spacing--80) 0}
.br-fcol ul{list-style:none;display:grid;gap:10px}
.br-lnk{position:relative;display:inline-block;font-size:1.0625rem;color:var(--br-bone);padding:2px 0}
.br-lnk::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--br-ease)}
.br-lnk:hover::after,.br-lnk:focus-visible::after{transform:scaleX(1);transform-origin:left}
.br-sub{display:block;font-size:.875rem;color:var(--br-ash);margin-top:2px}
.br-fclock{font-family:var(--br-mono);font-size:clamp(2rem,1.3rem + 2vw,3.25rem);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.br-fstatus{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:.9375rem;color:var(--br-mist)}
.br-fdot{width:8px;height:8px;border-radius:50%;background:var(--br-lime);animation:br-fping 2.4s infinite}
.br-fdot.off{background:var(--br-steel);animation:none}
@keyframes br-fping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--br-lime) 45%, transparent)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.br-fmail{display:flex;align-items:center;gap:10px;margin-top:28px;flex-wrap:wrap}
.br-fmail a{font-size:clamp(1.125rem,1rem + .5vw,1.5rem);font-weight:500;letter-spacing:-.01em;border-bottom:1px solid var(--f-line-2);padding-bottom:2px;transition:border-color .3s}
.br-fmail a:hover{border-color:var(--br-lime)}
.br-fcopy{height:32px;padding:0 12px;border-radius:999px;font-family:var(--br-mono);font-size:12px;color:var(--br-mist);box-shadow:inset 0 0 0 1px var(--f-line-2);transition:background-color .25s,color .25s}
.br-fcopy:hover{background:var(--br-bone);color:var(--br-black)}
.br-fcopy[data-done]{background:var(--br-lime);color:var(--br-black);box-shadow:none}
.br-fsocial{display:flex;gap:8px;margin-top:20px}
.br-fsocial a{height:40px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;font-size:.9375rem;box-shadow:inset 0 0 0 1px var(--f-line-2);transition:background-color .25s,color .25s}
.br-fsocial a:hover{background:var(--br-bone);color:var(--br-black)}

/* 3 · Wordmark rising from behind the ridge */
.br-fmark{position:relative;overflow:hidden;margin:0 calc(-1 * var(--br-gutter));padding:0 var(--br-gutter)}
.br-fword{display:flex;justify-content:space-between;font-weight:650;letter-spacing:-.065em;line-height:.78;font-size:min(18.6vw,351px);color:var(--br-bone);user-select:none;padding-top:.06em}
.br-fword span{display:inline-block}
.br-fridge{position:absolute;left:0;right:0;bottom:-3px;width:100%;height:calc(36% + 3px);display:block}
.br-fridge .br-fill{fill:var(--br-black)}
.br-fridge .br-edge{fill:none;stroke:var(--br-lime);stroke-width:1.5;vector-effect:non-scaling-stroke}
.br-fword{position:relative;z-index:1}
.br-fridge{z-index:2}
.br-fcv{position:absolute;left:0;bottom:0;width:100%;height:78%;display:block;z-index:2;opacity:0;transition:opacity .6s}
.br-fstill{display:none;position:absolute;left:0;bottom:-5vw;width:100%;height:auto;aspect-ratio:1170/300;z-index:2}
.br-fmark.is-3d .br-fcv{opacity:1}
.br-fmark.is-3d .br-fridge{display:none}

/* 4 · Legal bar */
.br-fbar{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 0 28px;font-size:.875rem;color:var(--br-ash)}
.br-fbar nav{display:flex;gap:22px;flex-wrap:wrap}
.br-fbar nav a:hover{color:var(--br-bone)}
.br-ftop{display:inline-flex;align-items:center;gap:10px;color:var(--br-bone)}
.br-ftop .br-c{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--f-line-2);overflow:hidden;position:relative;transition:background-color .3s var(--br-ease),color .3s var(--br-ease)}
.br-ftop .br-c svg{position:absolute;width:14px;height:14px;transition:transform .45s var(--br-ease)}
.br-ftop .br-c svg:last-child{transform:translateY(240%)}
.br-ftop:hover .br-c,.br-ftop:focus-visible .br-c{background:var(--br-lime);color:var(--br-black);box-shadow:none}
.br-ftop:hover .br-c svg:first-child,.br-ftop:focus-visible .br-c svg:first-child{transform:translateY(-240%)}
.br-ftop:hover .br-c svg:last-child,.br-ftop:focus-visible .br-c svg:last-child{transform:translateY(0)}

/* Responsive */
@media (max-width:1100px){
  .br-fcta{grid-template-columns:minmax(0,1fr)}
  .br-fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .br-fcontact{grid-column:1 / -1;order:-1;padding-bottom:16px}
}
@media (max-width:640px){
  .br-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .br-acts .wp-block-button{width:100%}
  .br-acts .wp-block-button__link{width:100%;justify-content:space-between}
  .br-fbar{flex-direction:column-reverse;align-items:flex-start}
  .br-fridge{height:calc(26% + 3px)}
  .br-fmark.is-3d{padding-top:2vw}
  .br-fmark.is-3d .br-fcv{display:none}
  .br-fmark.is-3d .br-fstill{display:block}
}
@media (prefers-reduced-motion:reduce){
  .br-ftr *{transition:none!important;animation:none!important}
}
