/* Ripe Leads - shared footer, lifted from resources/article.css so the
   standalone legal pages get the same footer as every other page. They carry a
   smaller palette, so the variables the footer needs are declared here first;
   a page defining them later still wins. Regenerate with the same extraction if
   article.css changes. */
:root{
  --white:#FFFFFF;
  --ink-soft:#221D16;
  --coral-tint:#FFEDE4;
  --btn-ink:#B03914;
  --btn-line:#A28873;
  --mono:'Azeret Mono',ui-monospace,'Courier New',monospace;
}

footer .foot{max-width:1140px;margin:0 auto;padding:0 24px}
.foot-legal{max-width:1140px;margin:38px auto 0;padding:22px 24px 0}
footer .foot{display:grid;grid-template-columns:minmax(250px,1.05fr) minmax(230px,1.25fr) auto;
  gap:40px 56px;align-items:start;justify-content:normal}
.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px;justify-content:flex-start}
.foot-brand .logo{font-size:20px}
.foot-tag{font-size:14px;line-height:1.6;color:var(--stone);margin:0;text-align:left;max-width:34ch}
.foot-links{display:block;columns:2;column-gap:34px;font-size:15px}
.foot-links a{display:block;width:fit-content;padding:7px 0;color:var(--ink-soft);break-inside:avoid}
.foot-links a:hover{color:var(--coral-deep)}
.foot-langs{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:168px}
.fl-lbl{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:2px;
  text-transform:uppercase;color:var(--stone);padding-bottom:2px}
.foot-langs a,.foot-langs .fl-cur,.foot-social .soc{display:inline-flex;align-items:center;gap:10px;
  min-height:40px;padding:0 15px;border-radius:12px;border:1.5px solid var(--btn-line);background:var(--white);
  font-size:14px;font-weight:500;color:var(--ink);line-height:1;
  transition:border-color .15s,background .15s,color .15s,transform .15s}
.foot-langs a:hover,.foot-social .soc:hover{border-color:var(--coral);background:var(--coral-tint);
  color:var(--btn-ink);transform:translateY(-1px)}
.foot-langs .fl-cur{background:var(--coral-tint);border-color:var(--coral);color:var(--btn-ink);font-weight:600;cursor:default}
.fl-code{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--stone);
  min-width:20px}
.foot-langs a:hover .fl-code,.foot-langs .fl-cur .fl-code{color:var(--btn-ink)}
.foot-social{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.foot-social .soc svg{flex:none}
.foot-legal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 32px;align-items:center;
  margin-top:38px;padding-top:22px;border-top:1px solid var(--husk)}
.foot-copy{margin:0;font-size:12.5px;line-height:1.65;color:var(--stone);max-width:none}
.foot-legal-links{display:flex;gap:4px 20px;flex-wrap:wrap;justify-content:flex-end}
.foot-legal-links a{font-size:12.5px;color:var(--stone);padding:6px 0;white-space:nowrap}
.foot-legal-links a:hover{color:var(--ink)}
footer a:focus-visible,.foot-langs a:focus-visible,.foot-social .soc:focus-visible{outline:2.5px solid var(--btn-ink);outline-offset:3px;border-radius:8px}

@media(max-width:1000px){
  footer .foot{grid-template-columns:1fr 1fr;gap:34px 40px}
  .foot-langs{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;min-width:0}
  .fl-lbl{width:100%;padding-bottom:0}
}

@media(max-width:640px){
  footer .foot{grid-template-columns:1fr;gap:28px}
  .foot-links{columns:2;column-gap:18px;font-size:14px}
  .foot-links a{padding:11px 0}
  .foot-langs a,.foot-langs .fl-cur,.foot-social .soc{min-height:44px}
  .foot-legal{grid-template-columns:1fr;gap:12px}
  .foot-legal-links a{padding:11px 0}
  .foot-legal-links{justify-content:flex-start}
}

@media(max-width:380px){
  .foot-links{columns:1}
}

/* The legal pages underline every link in their own stylesheet; the footer
   should read the same there as on every other page. */
footer .foot-links a,footer .foot-langs a,footer .foot-social a,footer .foot-legal-links a,footer .logo{text-decoration:none}
footer .foot-links a:hover,footer .foot-legal-links a:hover{text-decoration:none}
