/* Footer de contraste — doble navegación editorial, grafito y papel cálido. */
.rc-footer{
  --footer-bg:#1c1c1c;
  --footer-bg-soft:#262525;
  --footer-ink:#f2efe9;
  --footer-muted:#aca7a1;
  --footer-rule:rgba(243,239,230,.17);
  --footer-accent:#eb646a;
  position:relative;
  isolation:isolate;
  background:var(--footer-bg);
  color:var(--footer-ink);
  border-top:1px solid #292929;
  padding:clamp(36px,4.5vw,58px) max(22px,6vw) 18px;
}
.rc-footer-inner{width:min(100%,1250px);margin-inline:auto}
.rc-footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.07fr) minmax(315px,.93fr);
  align-items:center;
  gap:clamp(22px,4vw,47px);
  padding-bottom:clamp(20px,2.8vw,35px);
}
.rc-footer-partners{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  gap:clamp(12px,2vw,22px);
}
.rc-footer-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  min-width:0;
  height:80px;
  transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.rc-footer-brand:hover,.rc-footer-brand:focus-visible{opacity:.88;transform:translateY(-3px)}
.rc-footer-brand-gcb{
  width:min(132px,43%);
  padding:0;
  background:transparent;
  border:0;
}
.rc-footer-brand-gcb img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.rc-footer-brand-reizu{width:min(154px,42%)}
.rc-footer-brand-reizu .rc-reizu-image{
  display:block;
  max-width:100%;
  max-height:67px;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.rc-footer-brand-reizu.rc-image-fallback.is-missing .rc-logo-text-fallback{
  display:block;
  color:#f4f0ea;
  text-align:center;
  font:900 clamp(16px,1.8vw,24px)/1 var(--sans);
  letter-spacing:-.075em;
}
.rc-footer-cross{flex:none;color:var(--footer-accent);font:400 26px/1 var(--sans)}
.rc-footer-nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px 21px}
.rc-footer-nav a{
  position:relative;
  padding:4px 0;
  color:#e1dcd4;
  font:600 12px/1.5 var(--sans);
  transition:color .2s ease;
}
.rc-footer-nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:var(--footer-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s cubic-bezier(.22,1,.36,1);
}
.rc-footer-nav a:hover,.rc-footer-nav a:focus-visible{color:#fff}
.rc-footer-nav a:hover::after,.rc-footer-nav a:focus-visible::after{transform:scaleX(1)}
.rc-footer-site-navs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(27px,7vw,102px);
  padding:clamp(22px,2.6vw,34px) 0 clamp(24px,2.8vw,38px);
  border-top:1px solid var(--footer-rule);
}
.rc-footer-site-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.rc-footer-site-nav h2{
  margin:0 0 5px;
  font:700 clamp(18px,1.8vw,24px)/1.35 var(--serif);
  letter-spacing:-.055em;
  color:#fff;
}
.rc-footer-site-nav a{
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  min-width:min(100%,270px);
  border-bottom:1px solid transparent;
  padding:2px 0 5px;
  font:500 13px/1.5 var(--sans);
  color:#c8c1b7;
  transition:color .22s ease,border-color .25s ease,transform .28s cubic-bezier(.22,1,.36,1);
}
.rc-footer-site-nav a span{color:var(--footer-accent);font-size:16px;line-height:1}
.rc-footer-site-nav a:hover,.rc-footer-site-nav a:focus-visible{
  color:#fff;
  border-color:rgba(235,100,106,.55);
  transform:translateX(4px);
}
.rc-footer-legal{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(27px,4vw,55px);
  padding:clamp(21px,2.7vw,31px) 0 clamp(22px,2.7vw,33px);
  border-top:1px solid var(--footer-rule);
}
.rc-footer-legal-block{min-width:0;max-width:560px}
.rc-footer-legal-block+.rc-footer-legal-block{
  border-left:1px solid var(--footer-rule);
  padding-left:clamp(23px,3vw,43px);
  max-width:none;
}
.rc-footer-legal h2{
  margin:0 0 8px;
  font:800 10px/1.5 var(--sans);
  letter-spacing:.135em;
  text-transform:uppercase;
  color:#e7e1d8;
}
.rc-footer-legal p{
  margin:0;
  color:var(--footer-muted);
  font:400 11px/1.87 var(--sans);
}
.rc-footer-legal .rc-footer-rights{margin-top:10px;color:#e0d9d1;font-weight:650;font-size:10px}
.rc-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:19px;
  padding-top:15px;
  border-top:1px solid var(--footer-rule);
  color:#969089;
  font:500 10px/1.65 var(--sans);
}
.rc-footer-bottom-actions{display:flex;align-items:center;gap:12px 19px;flex-wrap:wrap}
.rc-footer-bottom-actions a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  color:#ddd7ce;
  font-weight:650;
  transition:color .2s ease,transform .2s ease;
}
.rc-footer-bottom-actions a span{color:var(--footer-accent);font-size:16px;line-height:1}
.rc-footer-bottom-actions a:hover,.rc-footer-bottom-actions a:focus-visible{
  color:#fff;
  transform:translateY(-2px);
}
@media(max-width:1020px){
  .rc-footer-top{grid-template-columns:1fr;gap:20px}
  .rc-footer-nav{justify-content:flex-start}
}
@media(max-width:740px){
  .rc-footer{padding:35px 20px 17px}
  .rc-footer-top{gap:18px;padding-bottom:23px}
  .rc-footer-brand{height:67px}
  .rc-footer-brand-gcb{width:96px;max-width:38%;padding:0}
  .rc-footer-brand-reizu{width:130px;max-width:44%}
  .rc-footer-cross{font-size:21px}
  .rc-footer-nav{gap:7px 18px}
  .rc-footer-nav a{font-size:11px;padding-block:4px}
  .rc-footer-site-navs{grid-template-columns:1fr;row-gap:23px;padding:23px 0 27px}
  .rc-footer-site-nav h2{font-size:21px;margin-bottom:5px}
  .rc-footer-site-nav a{min-width:min(100%,370px);font-size:13px}
  .rc-footer-legal{grid-template-columns:1fr;gap:18px;padding:22px 0 25px}
  .rc-footer-legal-block+.rc-footer-legal-block{
    border-left:0;
    border-top:1px solid var(--footer-rule);
    padding:18px 0 0;
  }
  .rc-footer-legal p{font-size:11px}
  .rc-footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:10px}
  .rc-footer-bottom-actions{gap:10px 18px}
}
@media(max-width:370px){
  .rc-footer{padding-inline:17px}
  .rc-footer-partners{gap:11px}
  .rc-footer-brand{height:57px}
  .rc-footer-brand-gcb{width:83px;max-width:38%;padding:0}
  .rc-footer-cross{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
  .rc-footer-brand,.rc-footer-nav a,.rc-footer-nav a::after,
  .rc-footer-site-nav a,.rc-footer-bottom-actions a{
    transition:none!important;transform:none!important;
  }
}
