:root{
  --rignac-gold:#e6ad24;
  --rignac-gold-soft:#f6c453;
  --rignac-ink:#050706;
}
.r3d-icon{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  border-radius:50%;
  user-select:none;-webkit-user-drag:none;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.52));
}
.r3d-icon--button{
  width:clamp(34px,7vw,58px);height:clamp(34px,7vw,58px);
}
.r3d-icon--small{
  width:28px;height:28px;
}
.r3d-icon--hero{
  width:clamp(76px,16vw,132px);height:clamp(76px,16vw,132px);
}
.r3d-icon--module{
  width:clamp(54px,12vw,86px);height:clamp(54px,12vw,86px);
}
.r3d-icon-frame{
  display:grid;place-items:center;
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(246,196,83,.24),0 12px 26px rgba(0,0,0,.48);
}
.r3d-nav-icon{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.r3d-control-icon{width:34px;height:34px;border-radius:50%;object-fit:cover;pointer-events:none}
/* Hace que los botones con iconos 3D se sientan táctiles y coherentes. */
button:has(.r3d-icon),a:has(.r3d-icon),button:has(.r3d-nav-icon),a:has(.r3d-nav-icon){
  -webkit-tap-highlight-color:transparent;
}
button:has(.r3d-icon):active,a:has(.r3d-icon):active{transform:translateY(1px) scale(.985)}
